Merge
This commit is contained in:
commit
097378bc50
352 changed files with 45244 additions and 2550 deletions
|
@ -0,0 +1,10 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="false" %>
|
||||
<div class="VpsFooter">
|
||||
<div class="VpsHeader">
|
||||
<div class="VpsBottom">
|
||||
<div class="Vps2012Body">
|
||||
<asp:PlaceHolder ID="ContentPane" runat="server"></asp:PlaceHolder>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -99,11 +99,22 @@
|
|||
<Control key="sharepoint_edit_sitecollection" general_key="sharepoint_sitecollections" />
|
||||
<Control key="sharepoint_backup_sitecollection" general_key="sharepoint_sitecollections" />
|
||||
<Control key="sharepoint_restore_sitecollection" general_key="sharepoint_sitecollections" />
|
||||
|
||||
|
||||
<Control key="sharepoint_storage_settings" />
|
||||
|
||||
<Control key="sharepoint_storage_usage" />
|
||||
|
||||
<!--SharePoint Enterprise-->
|
||||
<Control key="sharepoint_enterprise_sitecollections" />
|
||||
<Control key="sharepoint_enterprise_edit_sitecollection" general_key="sharepoint_enterprise_sitecollections" />
|
||||
<Control key="sharepoint_enterprise_backup_sitecollection" general_key="sharepoint_enterprise_sitecollections" />
|
||||
<Control key="sharepoint_enterprise_restore_sitecollection" general_key="sharepoint_enterprise_sitecollections" />
|
||||
|
||||
<Control key="sharepoint_enterprise_storage_settings" />
|
||||
|
||||
<Control key="sharepoint_enterprise_storage_usage" />
|
||||
|
||||
|
||||
|
||||
<!--BlackBerry-->
|
||||
<Control key="blackberry_users" />
|
||||
|
|
|
@ -69,6 +69,7 @@
|
|||
</MenuItems>
|
||||
</MenuItem>
|
||||
<MenuItem pageID="SpaceVPS" resourceGroup="VPS"/>
|
||||
<MenuItem pageID="SpaceVPS2012" resourceGroup="VPS2012"/>
|
||||
<MenuItem pageID="SpaceVPSForPC" resourceGroup="VPSForPC"/>
|
||||
<MenuItem pageID="SpaceExchangeServer" resourceGroup="Hosted Organizations"/>
|
||||
<MenuItem pageID="SpaceSharedSSL" resourceGroup="OS" quota="Web.SharedSSL"/>
|
||||
|
@ -123,6 +124,7 @@
|
|||
</Group>
|
||||
<Group pageID="SpaceHome" titleresourcekey="VPS" disabled="True">
|
||||
<Icon pageID="SpaceVPS" resourceGroup="VPS" imageUrl="icons/vps_48.png" />
|
||||
<Icon pageID="SpaceVPS2012" resourceGroup="VPS2012" imageUrl="icons/vps_48.png" />
|
||||
<Icon pageID="SpaceVPSForPC" resourceGroup="VPSForPC" imageUrl="icons/vpsforpc_48.png" />
|
||||
</Group>
|
||||
<!--
|
||||
|
|
|
@ -252,6 +252,16 @@
|
|||
</ModuleDefinition>
|
||||
|
||||
|
||||
<ModuleDefinition id="HostedSharePointEnterpriseSiteCollections">
|
||||
<Controls>
|
||||
<Control key="" src="WebsitePanel/HostedSharePointEnterpriseSiteCollections.ascx" title="HostedSharePointEnterpriseSiteCollections" type="View" icon="colors_48.png"/>
|
||||
<Control key="edit_item" src="WebsitePanel/HostedSharePointEnterpriseEditSiteCollection.ascx" title="HostedSharePointEnterpriseSiteCollection" type="View" icon="colors_48.png" />
|
||||
<Control key="backup" src="WebsitePanel/HostedSharePointEnterpriseBackupSiteCollection.ascx" title="HostedSharePointEnterpriseBackupSiteCollection" type="View"/>
|
||||
<Control key="restore" src="WebsitePanel/HostedSharePointEnterpriseRestoreSiteCollection.ascx" title="HostedSharePointEnterpriseRestoreSiteCollection" type="View"/>
|
||||
</Controls>
|
||||
</ModuleDefinition>
|
||||
|
||||
|
||||
<ModuleDefinition id="FileManager">
|
||||
<Controls>
|
||||
<Control key="" src="WebsitePanel/FileManager.ascx" title="HostingSpaceFiles" type="View" />
|
||||
|
@ -535,14 +545,21 @@
|
|||
<Control key="crm_storage_settings" src="WebsitePanel/CRM/CRMStorageSettings.ascx" title="CRMRestoreSiteCollection" type="View"/>
|
||||
|
||||
|
||||
<Control key="sharepoint_sitecollections" src="WebsitePanel/HostedSharePointSiteCollections.ascx" title="HostedSharePointSiteCollections" type="View" icon="colors_48.png"/>
|
||||
<Control key="sharepoint_edit_sitecollection" src="WebsitePanel/HostedSharePointEditSiteCollection.ascx" title="HostedSharePointSiteCollection" type="View" icon="colors_48.png" />
|
||||
<Control key="sharepoint_backup_sitecollection" src="WebsitePanel/HostedSharePointBackupSiteCollection.ascx" title="HostedSharePointBackupSiteCollection" type="View"/>
|
||||
<Control key="sharepoint_restore_sitecollection" src="WebsitePanel/HostedSharePointRestoreSiteCollection.ascx" title="HostedSharePointRestoreSiteCollection" type="View"/>
|
||||
<Control key="sharepoint_storage_settings" src="WebsitePanel/HostedSharePointStorageSettings.ascx" title="HostedSharePointRestoreSiteCollection" type="View"/>
|
||||
<Control key="sharepoint_storage_usage" src="WebsitePanel/HostedSharePointStorageUsage.ascx" title="HostedSharePointRestoreSiteCollection" type="View"/>
|
||||
<Control key="sharepoint_sitecollections" src="WebsitePanel/HostedSharePoint/HostedSharePointSiteCollections.ascx" title="HostedSharePointSiteCollections" type="View" icon="colors_48.png"/>
|
||||
<Control key="sharepoint_edit_sitecollection" src="WebsitePanel/HostedSharePoint/HostedSharePointEditSiteCollection.ascx" title="HostedSharePointSiteCollection" type="View" icon="colors_48.png" />
|
||||
<Control key="sharepoint_backup_sitecollection" src="WebsitePanel/HostedSharePoint/HostedSharePointBackupSiteCollection.ascx" title="HostedSharePointBackupSiteCollection" type="View"/>
|
||||
<Control key="sharepoint_restore_sitecollection" src="WebsitePanel/HostedSharePoint/HostedSharePointRestoreSiteCollection.ascx" title="HostedSharePointRestoreSiteCollection" type="View"/>
|
||||
<Control key="sharepoint_storage_settings" src="WebsitePanel/HostedSharePoint/HostedSharePointStorageSettings.ascx" title="HostedSharePointRestoreSiteCollection" type="View"/>
|
||||
<Control key="sharepoint_storage_usage" src="WebsitePanel/HostedSharePoint/HostedSharePointStorageUsage.ascx" title="HostedSharePointRestoreSiteCollection" type="View"/>
|
||||
|
||||
|
||||
<Control key="sharepoint_enterprise_sitecollections" src="WebsitePanel/HostedSharePoint/HostedSharePointEnterpriseSiteCollections.ascx" title="HostedSharePointEnterpriseSiteCollections" type="View" icon="colors_48.png"/>
|
||||
<Control key="sharepoint_enterprise_edit_sitecollection" src="WebsitePanel/HostedSharePoint/HostedSharePointEnterpriseEditSiteCollection.ascx" title="HostedSharePointEnterpriseSiteCollection" type="View" icon="colors_48.png" />
|
||||
<Control key="sharepoint_enterprise_backup_sitecollection" src="WebsitePanel/HostedSharePoint/HostedSharePointEnterpriseBackupSiteCollection.ascx" title="HostedSharePointEnterpriseBackupSiteCollection" type="View"/>
|
||||
<Control key="sharepoint_enterprise_restore_sitecollection" src="WebsitePanel/HostedSharePoint/HostedSharePointEnterpriseRestoreSiteCollection.ascx" title="HostedSharePointEnterpriseRestoreSiteCollection" type="View"/>
|
||||
<Control key="sharepoint_enterprise_storage_settings" src="WebsitePanel/HostedSharePoint/HostedSharePointEnterpriseStorageSettings.ascx" title="HostedSharePointEnterpriseRestoreSiteCollection" type="View"/>
|
||||
<Control key="sharepoint_enterprise_storage_usage" src="WebsitePanel/HostedSharePoint/HostedSharePointEnterpriseStorageUsage.ascx" title="HostedSharePointEnterpriseRestoreSiteCollection" type="View"/>
|
||||
|
||||
<Control key="blackberry_users" src="WebsitePanel/BlackBerry/BlackBerryUsers.ascx" title="BlackBerry Users" type="View" />
|
||||
<Control key="create_new_blackberry_user" src="WebsitePanel/BlackBerry/CreateNewBlackBerryUser.ascx" title="Create New BlackBerry User" type="View" />
|
||||
<Control key="edit_blackberry_user" src="WebsitePanel/BlackBerry/EditBlackBerryUser.ascx" title="Edit BlackBerry User" type="View" />
|
||||
|
@ -626,6 +643,37 @@
|
|||
</Controls>
|
||||
</ModuleDefinition>
|
||||
|
||||
<ModuleDefinition id="VPS2012">
|
||||
<Controls>
|
||||
<Control key="" src="WebsitePanel/VPS2012/VdcHome.ascx" title="VdcHome" type="View" />
|
||||
<Control key="vdc_create_server" src="WebsitePanel/VPS2012/VdcCreateServer.ascx" title="VdcCreateServer" type="View" />
|
||||
<Control key="vdc_import_server" src="WebsitePanel/VPS2012/VdcImportServer.ascx" title="VdcImportServer" type="View" />
|
||||
<Control key="vdc_external_network" src="WebsitePanel/VPS2012/VdcExternalNetwork.ascx" title="VdcExternalNetwork" type="View" />
|
||||
<Control key="vdc_management_network" src="WebsitePanel/VPS2012/VdcManagementNetwork.ascx" title="VdcManagementNetwork" type="View" />
|
||||
<Control key="vdc_allocate_external_ip" src="WebsitePanel/VPS2012/VdcAddExternalAddress.ascx" title="VdcAddExternalAddress" type="View" />
|
||||
<Control key="vdc_private_network" src="WebsitePanel/VPS2012/VdcPrivateNetwork.ascx" title="VdcPrivateNetwork" type="View" />
|
||||
<Control key="vdc_permissions" src="WebsitePanel/VPS2012/VdcPermissions.ascx" title="VdcPermissions" type="View" />
|
||||
<Control key="vdc_audit_log" src="WebsitePanel/VPS2012/VdcAuditLog.ascx" title="VdcAuditLog" type="View" />
|
||||
|
||||
<Control key="vps_general" src="WebsitePanel/VPS2012/VpsDetailsGeneral.ascx" title="VpsDetailsGeneral" type="View" />
|
||||
<Control key="vps_config" src="WebsitePanel/VPS2012/VpsDetailsConfiguration.ascx" title="VpsDetailsConfiguration" type="View" />
|
||||
<Control key="vps_edit_config" src="WebsitePanel/VPS2012/VpsDetailsEditConfiguration.ascx" title="VpsDetailsEditConfiguration" type="View" />
|
||||
<Control key="vps_dvd" src="WebsitePanel/VPS2012/VpsDetailsDvd.ascx" title="VpsDetailsDvd" type="View" />
|
||||
<Control key="vps_insert_dvd" src="WebsitePanel/VPS2012/VpsDetailsInsertDvd.ascx" title="VpsDetailsInsertDvd" type="View" />
|
||||
<Control key="vps_snapshots" src="WebsitePanel/VPS2012/VpsDetailsSnapshots.ascx" title="VpsDetailsSnapshots" type="View" />
|
||||
<Control key="vps_network" src="WebsitePanel/VPS2012/VpsDetailsNetwork.ascx" title="VpsDetailsNetwork" type="View" />
|
||||
<Control key="vps_add_external_ip" src="WebsitePanel/VPS2012/VpsDetailsAddExternalAddress.ascx" title="VpsDetailsAddExternalAddress" type="View" />
|
||||
<Control key="vps_add_private_ip" src="WebsitePanel/VPS2012/VpsDetailsAddPrivateAddress.ascx" title="VpsDetailsAddPrivateAddress" type="View" />
|
||||
<Control key="vps_permissions" src="WebsitePanel/VPS2012/VpsDetailsPermissions.ascx" title="VpsDetailsNetworking" type="View" />
|
||||
<Control key="vps_tools" src="WebsitePanel/VPS2012/VpsDetailsTools.ascx" title="VpsDetailsTools" type="View" />
|
||||
<Control key="vps_audit_log" src="WebsitePanel/VPS2012/VpsDetailsAuditLog.ascx" title="VpsDetailsAuditLog" type="View" />
|
||||
<Control key="vps_help" src="WebsitePanel/VPS2012/VpsDetailsHelp.ascx" title="VpsDetailsHelp" type="View" />
|
||||
<Control key="vps_tools_delete" src="WebsitePanel/VPS2012/VpsToolsDeleteServer.ascx" title="VpsToolsDeleteServer" type="View" />
|
||||
<Control key="vps_tools_move" src="WebsitePanel/VPS2012/VpsMoveServer.ascx" title="VpsMoveServer" type="View" />
|
||||
<Control key="vps_tools_reinstall" src="WebsitePanel/VPS2012/VpsToolsReinstallServer.ascx" title="VpsToolsReinstallServer" type="View" />
|
||||
</Controls>
|
||||
</ModuleDefinition>
|
||||
|
||||
<ModuleDefinition id="VPSForPC">
|
||||
<Controls>
|
||||
<Control key="" src="WebsitePanel/VPSForPC/VdcHome.ascx" title="VdcHome" type="View" />
|
||||
|
|
|
@ -175,6 +175,17 @@
|
|||
</Content>
|
||||
</Page>
|
||||
|
||||
<Page name="SpaceOrganizationHostedSharePointEnterprise" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
|
||||
<Content id="LeftPane">
|
||||
<Module moduleDefinitionID="HostedSolutionMenu" title="HostedSolutionMenu" container="Clear.ascx">
|
||||
<ModuleData ref="HostedSolutionMenu"/>
|
||||
</Module>
|
||||
</Content>
|
||||
<Content id="ContentPane">
|
||||
<Module moduleDefinitionID="HostedSharePointEnterpriseSiteCollections" title="HostedSharePointEnterpriseSiteCollections" icon="colors_48.png" />
|
||||
</Content>
|
||||
</Page>
|
||||
|
||||
<Page name="SpaceDomains" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
|
||||
<Content id="LeftPane">
|
||||
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
|
||||
|
@ -641,6 +652,20 @@
|
|||
</Content>
|
||||
</Page>
|
||||
|
||||
<Page name="SpaceVPS2012" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True" skin="VPS.ascx" adminskin="VPS.ascx">
|
||||
<Content id="LeftPane">
|
||||
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
|
||||
<ModuleData ref="UserMenu"/>
|
||||
</Module>
|
||||
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
|
||||
<ModuleData ref="SpaceMenu"/>
|
||||
</Module>
|
||||
</Content>
|
||||
<Content id="ContentPane">
|
||||
<Module moduleDefinitionID="VPS2012" title="VirtualPrivateServers2012" icon="" container="VPS2012.ascx" admincontainer="VPS2012.ascx" readOnlyRoles="PlatformCSR,ResellerCSR"/>
|
||||
</Content>
|
||||
</Page>
|
||||
|
||||
<Page name="SpaceVPSForPC" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True" skin="VPS.ascx" adminskin="VPS.ascx">
|
||||
<Content id="LeftPane">
|
||||
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
|
||||
|
|
|
@ -732,6 +732,21 @@
|
|||
<data name="ModuleTitle.HostedSharePointRestoreSiteCollection" xml:space="preserve">
|
||||
<value>Restore Site Collection</value>
|
||||
</data>
|
||||
|
||||
|
||||
<data name="ModuleTitle.HostedSharePointEnterpriseSiteCollection" xml:space="preserve">
|
||||
<value>SharePoint Enterprise Site Collection</value>
|
||||
</data>
|
||||
<data name="ModuleTitle.HostedSharePointEnterpriseSiteCollections" xml:space="preserve">
|
||||
<value>Hosted SharePoint Enterprise Site Collections</value>
|
||||
</data>
|
||||
<data name="ModuleTitle.HostedSharePointEnterpriseBackupSiteCollection" xml:space="preserve">
|
||||
<value>Backup Site Collection</value>
|
||||
</data>
|
||||
<data name="ModuleTitle.HostedSharePointEnterpriseRestoreSiteCollection" xml:space="preserve">
|
||||
<value>Restore Site Collection</value>
|
||||
</data>
|
||||
|
||||
<data name="ModuleTitle.WebSiteIPAddresses" xml:space="preserve">
|
||||
<value>Web Site IP Addresses</value>
|
||||
</data>
|
||||
|
|
|
@ -444,6 +444,12 @@
|
|||
<data name="PageTitle.SpaceVPS" xml:space="preserve">
|
||||
<value>{user} - {space} - Virtual Private Servers</value>
|
||||
</data>
|
||||
<data name="PageName.SpaceVPS2012" xml:space="preserve">
|
||||
<value>Virtual Private Servers 2012</value>
|
||||
</data>
|
||||
<data name="PageTitle.SpaceVPS2012" xml:space="preserve">
|
||||
<value>{user} - {space} - Virtual Private Servers 2012</value>
|
||||
</data>
|
||||
<data name="PageName.SpaceWebIPAddresses" xml:space="preserve">
|
||||
<value>IP Addresses</value>
|
||||
</data>
|
||||
|
|
|
@ -3370,15 +3370,15 @@
|
|||
<data name="Quota.HostedSolution.DeletedUsersBackupStorageSpace" xml:space="preserve">
|
||||
<value>Deleted Users Backup Storage Space per Organization, Mb</value>
|
||||
</data>
|
||||
<data name="ResourceGroup.Hosted SharePoint" xml:space="preserve">
|
||||
<value>Hosted SharePoint</value>
|
||||
</data>
|
||||
<data name="ResourceGroup.SharePoint Foundation Server" xml:space="preserve">
|
||||
<value>SharePoint Foundation Server</value>
|
||||
</data>
|
||||
<data name="ResourceGroup.SharePoint Server" xml:space="preserve">
|
||||
<value>SharePoint Server</value>
|
||||
</data>
|
||||
<data name="ResourceGroup.SharePoint Enterprise Server" xml:space="preserve">
|
||||
<value>SharePoint Enterprise Server</value>
|
||||
</data>
|
||||
<data name="ResourceGroup.OCS" xml:space="preserve">
|
||||
<value>Office Communications Server</value>
|
||||
</data>
|
||||
|
@ -3397,6 +3397,12 @@
|
|||
<data name="Quota.HostedSharePointServer.MaxStorage" xml:space="preserve">
|
||||
<value>Max site storage, MB</value>
|
||||
</data>
|
||||
<data name="Quota.HostedSharePointEnterprise.Sites" xml:space="preserve">
|
||||
<value>SharePoint Enterprise Site Collections per Organization</value>
|
||||
</data>
|
||||
<data name="Quota.HostedSharePointEnterprise.MaxStorage" xml:space="preserve">
|
||||
<value>Max site storage, MB</value>
|
||||
</data>
|
||||
<data name="Quota.HostedCRM.Users" xml:space="preserve">
|
||||
<value>Full licenses per organization</value>
|
||||
</data>
|
||||
|
@ -4261,6 +4267,9 @@
|
|||
<data name="VPS.VPS_QUOTA_WRONG_RAM" xml:space="preserve">
|
||||
<value>RAM size must be a positive number and greater than zero</value>
|
||||
</data>
|
||||
<data name="VPS.VPS_QUOTA_NOT_IN_DYNAMIC_RAM" xml:space="preserve">
|
||||
<value>RAM size must be between the minimum and maximum of the dynamic memory</value>
|
||||
</data>
|
||||
<data name="VPS.VPS_QUOTA_WRONG_SNAPSHOTS" xml:space="preserve">
|
||||
<value>Snapshots must be a positive number and greater than zero</value>
|
||||
</data>
|
||||
|
@ -5122,6 +5131,74 @@
|
|||
<data name="Quota.VPSForPC.StartShutdownAllowed" xml:space="preserve">
|
||||
<value>Allow user to Start, Turn off VPS</value>
|
||||
</data>
|
||||
|
||||
<data name="ResourceGroup.VPS2012" xml:space="preserve">
|
||||
<value>Virtual Private Servers 2012</value>
|
||||
</data>
|
||||
<data name="AuditLogSource.VPS2012" xml:space="preserve">
|
||||
<value>Virtual Private Servers 2012</value>
|
||||
</data>
|
||||
<data name="Quota.VPS2012.Bandwidth" xml:space="preserve">
|
||||
<value>Monthly bandwidth, GB</value>
|
||||
</data>
|
||||
<data name="Quota.VPS2012.BootCdAllowed" xml:space="preserve">
|
||||
<value>Boot from CD allowed</value>
|
||||
</data>
|
||||
<data name="Quota.VPS2012.BootCdEnabled" xml:space="preserve">
|
||||
<value>Boot from CD</value>
|
||||
</data>
|
||||
<data name="Quota.VPS2012.CpuNumber" xml:space="preserve">
|
||||
<value>Number of CPU cores</value>
|
||||
</data>
|
||||
<data name="Quota.VPS2012.DvdEnabled" xml:space="preserve">
|
||||
<value>DVD drive</value>
|
||||
</data>
|
||||
<data name="Quota.VPS2012.ExternalIPAddressesNumber" xml:space="preserve">
|
||||
<value>Number of External IP addresses</value>
|
||||
</data>
|
||||
<data name="Quota.VPS2012.ExternalNetworkEnabled" xml:space="preserve">
|
||||
<value>External Network</value>
|
||||
</data>
|
||||
<data name="Quota.VPS2012.Hdd" xml:space="preserve">
|
||||
<value>Hard Drive size, GB</value>
|
||||
</data>
|
||||
<data name="Quota.VPS2012.ManagingAllowed" xml:space="preserve">
|
||||
<value>Allow user to create, delete VPS</value>
|
||||
</data>
|
||||
<data name="Quota.VPS2012.NumLockEnabled" xml:space="preserve">
|
||||
<value>"Num Lock" by default</value>
|
||||
</data>
|
||||
<data name="Quota.VPS2012.PauseResumeAllowed" xml:space="preserve">
|
||||
<value>Allow user to Pause, Resume VPS</value>
|
||||
</data>
|
||||
<data name="Quota.VPS2012.PrivateIPAddressesNumber" xml:space="preserve">
|
||||
<value>Number of Private IP addresses per VPS</value>
|
||||
</data>
|
||||
<data name="Quota.VPS2012.PrivateNetworkEnabled" xml:space="preserve">
|
||||
<value>Private Network</value>
|
||||
</data>
|
||||
<data name="Quota.VPS2012.Ram" xml:space="preserve">
|
||||
<value>RAM size, MB</value>
|
||||
</data>
|
||||
<data name="Quota.VPS2012.RebootAllowed" xml:space="preserve">
|
||||
<value>Allow user to Reboot VPS</value>
|
||||
</data>
|
||||
<data name="Quota.VPS2012.ReinstallAllowed" xml:space="preserve">
|
||||
<value>Allow user to Re-install VPS</value>
|
||||
</data>
|
||||
<data name="Quota.VPS2012.ResetAlowed" xml:space="preserve">
|
||||
<value>Allow user to Reset VPS</value>
|
||||
</data>
|
||||
<data name="Quota.VPS2012.ServersNumber" xml:space="preserve">
|
||||
<value>Number of VPS</value>
|
||||
</data>
|
||||
<data name="Quota.VPS2012.SnapshotsNumber" xml:space="preserve">
|
||||
<value>Number of Snaphots</value>
|
||||
</data>
|
||||
<data name="Quota.VPS2012.StartShutdownAllowed" xml:space="preserve">
|
||||
<value>Allow user to Start, Turn off VPS</value>
|
||||
</data>
|
||||
|
||||
<data name="Error.CreateCheckPointError" xml:space="preserve">
|
||||
<value>Error creating CheckPoint</value>
|
||||
</data>
|
||||
|
@ -5173,6 +5250,9 @@
|
|||
<data name="Quota.HostedSharePoint.UseSharedSSL" xml:space="preserve">
|
||||
<value>Use shared SSL Root</value>
|
||||
</data>
|
||||
<data name="Quota.HostedSharePointEnterprise.UseSharedSSL" xml:space="preserve">
|
||||
<value>Use shared SSL Root</value>
|
||||
</data>
|
||||
<data name="Quota.HostedSharePointServer.UseSharedSSL" xml:space="preserve">
|
||||
<value>Use shared SSL Root</value>
|
||||
</data>
|
||||
|
@ -5701,6 +5781,12 @@
|
|||
<data name="ERROR.REMOTE_DESKTOP_SERVICES_LOG_OFF_USER" xml:space="preserve">
|
||||
<value>RDS User logging off error</value>
|
||||
</data>
|
||||
<data name="ERROR.REMOTE_DESKTOP_SERVICES_VIEW_SESSION" xml:space="preserve">
|
||||
<value>View session error</value>
|
||||
</data>
|
||||
<data name="ERROR.REMOTE_DESKTOP_SERVICES_CONTROL_SESSION" xml:space="preserve">
|
||||
<value>Control session error</value>
|
||||
</data>
|
||||
<data name="ERROR.REMOTE_DESKTOP_SERVICES_USER_SESSIONS" xml:space="preserve">
|
||||
<value>Getting RDS User sessions error</value>
|
||||
</data>
|
||||
|
|
|
@ -1168,6 +1168,9 @@
|
|||
<ItemGroup>
|
||||
<Content Include="Web.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Properties\PublishProfiles\Default Settings.pubxml" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
|
||||
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
|
||||
|
|
|
@ -204,7 +204,7 @@
|
|||
<data name="Text.SharePointFoundationServerGroup" xml:space="preserve">
|
||||
<value>SharePoint Foundation</value>
|
||||
</data>
|
||||
<data name="Text.SharePointServerGroup" xml:space="preserve">
|
||||
<data name="Text.SharePointEnterpriseServerGroup" xml:space="preserve">
|
||||
<value>SharePoint Server</value>
|
||||
</data>
|
||||
<data name="Text.SiteCollections" xml:space="preserve">
|
||||
|
|
|
@ -123,6 +123,15 @@
|
|||
<data name="cbUsers.Text" xml:space="preserve">
|
||||
<value>Users</value>
|
||||
</data>
|
||||
<data name="secChangeDesktop.Text" xml:space="preserve">
|
||||
<value>Changing Desktop Disabled</value>
|
||||
</data>
|
||||
<data name="secControlSession.Text" xml:space="preserve">
|
||||
<value>Control RDS Session without Users's Permission</value>
|
||||
</data>
|
||||
<data name="secDisableCmd.Text" xml:space="preserve">
|
||||
<value>Disable Command Prompt</value>
|
||||
</data>
|
||||
<data name="secDriveSpace.Text" xml:space="preserve">
|
||||
<value>Drive Space Threshold</value>
|
||||
</data>
|
||||
|
@ -145,9 +154,9 @@
|
|||
<value>Disable Task Manager</value>
|
||||
</data>
|
||||
<data name="secTimeout.Text" xml:space="preserve">
|
||||
<value>Lock Screen Timeout</value>
|
||||
<value>Lock Screen Timeout (sec.)</value>
|
||||
</data>
|
||||
<data name="sekChangeDesktop.Text" xml:space="preserve">
|
||||
<value>Changing Desktop Disabled</value>
|
||||
<data name="secViewSession.Text" xml:space="preserve">
|
||||
<value>View RDS Session without Users's Permission</value>
|
||||
</data>
|
||||
</root>
|
|
@ -180,8 +180,8 @@
|
|||
<data name="lblOCSUsers.Text" xml:space="preserve">
|
||||
<value>OCS Users:</value>
|
||||
</data>
|
||||
<data name="lblSharepointSites" xml:space="preserve">
|
||||
<value>Sharepoint Sites:</value>
|
||||
<data name="lblSharepointSites.Text" xml:space="preserve">
|
||||
<value>SharePoint Foundation Sites:</value>
|
||||
</data>
|
||||
<data name="lblUserAccounts.Text" xml:space="preserve">
|
||||
<value>User Accounts:</value>
|
||||
|
@ -210,4 +210,7 @@
|
|||
<data name="lblDeletedUsers.Text" xml:space="preserve">
|
||||
<value>Deleted Users:</value>
|
||||
</data>
|
||||
<data name="lblSharepointEnterpriseSites.Text" xml:space="preserve">
|
||||
<value>SharePoint Server Sites:</value>
|
||||
</data>
|
||||
</root>
|
|
@ -141,6 +141,9 @@
|
|||
<data name="lnkVps.Text" xml:space="preserve">
|
||||
<value>Virtual Private Servers</value>
|
||||
</data>
|
||||
<data name="lnkVps2012.Text" xml:space="preserve">
|
||||
<value>Virtual Private Servers 2012</value>
|
||||
</data>
|
||||
<data name="lnkVpsForPC.Text" xml:space="preserve">
|
||||
<value>Virtual Private Servers for Private Cloud</value>
|
||||
</data>
|
||||
|
|
|
@ -237,9 +237,9 @@
|
|||
<data name="Text.SharePointFoundationServerGroup" xml:space="preserve">
|
||||
<value>Hosted Organization - SharePoint Foundation Server</value>
|
||||
</data>
|
||||
<data name="Text.SharePointServerGroup" xml:space="preserve">
|
||||
<data name="Text.SharePointEnterpriseServerGroup" xml:space="preserve">
|
||||
<value>Hosted Organization - SharePoint Server</value>
|
||||
</data>
|
||||
</data>
|
||||
<data name="Text.SiteCollections" xml:space="preserve">
|
||||
<value>Sharepoint Sites</value>
|
||||
</data>
|
||||
|
@ -250,7 +250,7 @@
|
|||
<value>Storage Usage</value>
|
||||
</data>
|
||||
<data name="Text.Users" xml:space="preserve">
|
||||
<value>Users</value>
|
||||
<value>Users (User Organization)</value>
|
||||
</data>
|
||||
<data name="Text.CreateOrganization" xml:space="preserve">
|
||||
<value>Create Organization</value>
|
||||
|
|
|
@ -68,6 +68,11 @@ namespace WebsitePanel.Portal
|
|||
get { return GetCachedProxy<esVirtualizationServer>(); }
|
||||
}
|
||||
|
||||
public esVirtualizationServer2012 VPS2012
|
||||
{
|
||||
get { return GetCachedProxy<esVirtualizationServer2012>(); }
|
||||
}
|
||||
|
||||
public esVirtualizationServerForPrivateCloud VPSPC
|
||||
{
|
||||
get { return GetCachedProxy<esVirtualizationServerForPrivateCloud>(); }
|
||||
|
@ -198,6 +203,11 @@ namespace WebsitePanel.Portal
|
|||
get { return GetCachedProxy<esHostedSharePointServers>(); }
|
||||
}
|
||||
|
||||
public esHostedSharePointServersEnt HostedSharePointServersEnt
|
||||
{
|
||||
get { return GetCachedProxy<esHostedSharePointServersEnt>(); }
|
||||
}
|
||||
|
||||
public esImport Import
|
||||
{
|
||||
get { return GetCachedProxy<esImport>(); }
|
||||
|
|
|
@ -337,7 +337,7 @@ namespace WebsitePanel.Portal
|
|||
{
|
||||
if (((CheckBox)gvr.FindControl(checkboxName)).Checked)
|
||||
{
|
||||
string userId = gridView.DataKeys[gvr.DataItemIndex].Value.ToString();
|
||||
string userId = gridView.DataKeys[gvr.DataItemIndex % gridView.PageSize].Value.ToString();
|
||||
userIds.Add((T)Convert.ChangeType(userId, typeof(T)));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,67 @@
|
|||
// Copyright (c) 2015, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using WebsitePanel.Providers.SharePoint;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace WebsitePanel.Portal
|
||||
{
|
||||
public class HostedSharePointEnterpriseSiteCollectionsHelper
|
||||
{
|
||||
SharePointEnterpriseSiteCollectionListPaged result;
|
||||
|
||||
public int GetSharePointEnterpriseSiteCollectionPagedCount(int packageId, int organizationId, string filterColumn, string filterValue)
|
||||
{
|
||||
return result.TotalRowCount;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public List<SharePointEnterpriseSiteCollection> GetSharePointEnterpriseSiteCollectionPaged(int packageId, int organizationId, string filterColumn, string filterValue, int maximumRows, int startRowIndex, string sortColumn)
|
||||
{
|
||||
if (!String.IsNullOrEmpty(filterValue))
|
||||
{
|
||||
filterValue = filterValue + "%";
|
||||
}
|
||||
|
||||
result = ES.Services.HostedSharePointServersEnt.Enterprise_GetSiteCollectionsPaged(packageId, organizationId, filterColumn, filterValue, sortColumn, startRowIndex, maximumRows);
|
||||
|
||||
return result.SiteCollections;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -37,7 +37,6 @@ using System.Web.UI.WebControls.WebParts;
|
|||
using System.Web.UI.HtmlControls;
|
||||
using WebsitePanel.Providers.SharePoint;
|
||||
using System.Collections.Generic;
|
||||
using WebsitePanel.EnterpriseServer;
|
||||
|
||||
namespace WebsitePanel.Portal
|
||||
{
|
||||
|
@ -45,28 +44,19 @@ namespace WebsitePanel.Portal
|
|||
{
|
||||
SharePointSiteCollectionListPaged result;
|
||||
|
||||
public int GetSharePointSiteCollectionPagedCount(int packageId, int organizationId, string groupName, string filterColumn, string filterValue)
|
||||
public int GetSharePointSiteCollectionPagedCount(int packageId, int organizationId, string filterColumn, string filterValue)
|
||||
{
|
||||
return result.TotalRowCount;
|
||||
}
|
||||
|
||||
public List<SharePointSiteCollection> GetSharePointSiteCollectionPaged(int packageId, int organizationId, string groupName, string filterColumn, string filterValue, int maximumRows, int startRowIndex, string sortColumn)
|
||||
public List<SharePointSiteCollection> GetSharePointSiteCollectionPaged(int packageId, int organizationId, string filterColumn, string filterValue, int maximumRows, int startRowIndex, string sortColumn)
|
||||
{
|
||||
if (!String.IsNullOrEmpty(filterValue))
|
||||
{
|
||||
filterValue = filterValue + "%";
|
||||
}
|
||||
|
||||
if (ResourceGroups.SharepointFoundationServer.Replace(" ", "").Equals(groupName))
|
||||
{
|
||||
groupName = ResourceGroups.SharepointFoundationServer;
|
||||
}
|
||||
else if (ResourceGroups.SharepointServer.Replace(" ", "").Equals(groupName))
|
||||
{
|
||||
groupName = ResourceGroups.SharepointServer;
|
||||
}
|
||||
|
||||
result = ES.Services.HostedSharePointServers.GetSiteCollectionsPaged(packageId, organizationId, filterColumn, filterValue, sortColumn, startRowIndex, maximumRows, groupName);
|
||||
result = ES.Services.HostedSharePointServers.GetSiteCollectionsPaged(packageId, organizationId, filterColumn, filterValue, sortColumn, startRowIndex, maximumRows);
|
||||
|
||||
return result.SiteCollections;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Web.UI;
|
||||
using WebsitePanel.Providers.Virtualization;
|
||||
|
||||
namespace WebsitePanel.Portal.Code.Helpers
|
||||
{
|
||||
|
||||
public static class VirtualMachineSettingExtensions
|
||||
{
|
||||
public static void BindSettingsControls(this Control page, VirtualMachine vm)
|
||||
{
|
||||
page.GetSettingsControls().ForEach(s => s.BindItem(vm));
|
||||
}
|
||||
|
||||
public static void SaveSettingsControls(this Control page, ref VirtualMachine vm)
|
||||
{
|
||||
foreach (var s in page.GetSettingsControls()) s.SaveItem(ref vm);
|
||||
}
|
||||
|
||||
public static List<IVirtualMachineSettingsControl> GetSettingsControls(this Control parent)
|
||||
{
|
||||
var result = new List<IVirtualMachineSettingsControl>();
|
||||
foreach (Control control in parent.Controls)
|
||||
{
|
||||
if (control is IVirtualMachineSettingsControl)
|
||||
result.Add((IVirtualMachineSettingsControl)control);
|
||||
|
||||
if (control.HasControls())
|
||||
result.AddRange(control.GetSettingsControls());
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,129 @@
|
|||
// Copyright (c) 2015, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using WebsitePanel.EnterpriseServer;
|
||||
using WebsitePanel.Providers.Virtualization;
|
||||
using System.Web;
|
||||
using System;
|
||||
|
||||
namespace WebsitePanel.Portal
|
||||
{
|
||||
public class VirtualMachines2012Helper
|
||||
{
|
||||
public static bool IsVirtualMachineManagementAllowed(int packageId)
|
||||
{
|
||||
bool manageAllowed = false;
|
||||
PackageContext cntx = PackagesHelper.GetCachedPackageContext(packageId);
|
||||
if (cntx.Quotas.ContainsKey(Quotas.VPS2012_MANAGING_ALLOWED))
|
||||
manageAllowed = !cntx.Quotas[Quotas.VPS2012_MANAGING_ALLOWED].QuotaExhausted;
|
||||
|
||||
if (PanelSecurity.EffectiveUser.Role == UserRole.Administrator)
|
||||
manageAllowed = true;
|
||||
else if (PanelSecurity.EffectiveUser.Role == UserRole.Reseller)
|
||||
{
|
||||
// check if the reseller is allowed to manage on its parent level
|
||||
PackageInfo package = ES.Services.Packages.GetPackage(PanelSecurity.PackageId);
|
||||
if (package.UserId != PanelSecurity.EffectiveUserId)
|
||||
{
|
||||
cntx = PackagesHelper.GetCachedPackageContext(package.ParentPackageId);
|
||||
if (cntx != null && cntx.Quotas.ContainsKey(Quotas.VPS2012_MANAGING_ALLOWED))
|
||||
manageAllowed = !cntx.Quotas[Quotas.VPS2012_MANAGING_ALLOWED].QuotaExhausted;
|
||||
}
|
||||
}
|
||||
return manageAllowed;
|
||||
}
|
||||
|
||||
// TODO: Move this method to the corresponding extension later.
|
||||
public static VirtualMachine GetCachedVirtualMachine(int itemId)
|
||||
{
|
||||
return VirtualMachinesExtensions.GetCachedVirtualMachine<VirtualMachine>(
|
||||
itemId, () => ES.Services.VPS2012.GetVirtualMachineItem(itemId));
|
||||
}
|
||||
|
||||
#region Virtual Machines
|
||||
VirtualMachineMetaItemsPaged vms;
|
||||
public VirtualMachineMetaItem[] GetVirtualMachines(int packageId, string filterColumn, string filterValue,
|
||||
string sortColumn, int maximumRows, int startRowIndex)
|
||||
{
|
||||
vms = ES.Services.VPS2012.GetVirtualMachines(packageId, filterColumn, filterValue,
|
||||
sortColumn, startRowIndex, maximumRows, true);
|
||||
return vms.Items;
|
||||
}
|
||||
|
||||
public int GetVirtualMachinesCount(int packageId, string filterColumn, string filterValue)
|
||||
{
|
||||
return vms.Count;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Package IP Addresses
|
||||
PackageIPAddressesPaged packageAddresses;
|
||||
public PackageIPAddress[] GetPackageIPAddresses(int packageId, IPAddressPool pool, string filterColumn, string filterValue,
|
||||
string sortColumn, int maximumRows, int startRowIndex)
|
||||
{
|
||||
packageAddresses = ES.Services.Servers.GetPackageIPAddresses(packageId, 0, pool,
|
||||
filterColumn, filterValue, sortColumn, startRowIndex, maximumRows, true);
|
||||
return packageAddresses.Items;
|
||||
}
|
||||
|
||||
public int GetPackageIPAddressesCount(int packageId, IPAddressPool pool, string filterColumn, string filterValue)
|
||||
{
|
||||
return packageAddresses.Count;
|
||||
}
|
||||
|
||||
public PackageIPAddress[] GetPackageIPAddresses(int packageId, int orgId, IPAddressPool pool, string filterColumn, string filterValue,
|
||||
string sortColumn, int maximumRows, int startRowIndex)
|
||||
{
|
||||
packageAddresses = ES.Services.Servers.GetPackageIPAddresses(packageId, orgId, pool,
|
||||
filterColumn, filterValue, sortColumn, startRowIndex, maximumRows, true);
|
||||
return packageAddresses.Items;
|
||||
}
|
||||
|
||||
public int GetPackageIPAddressesCount(int packageId, int orgId, IPAddressPool pool, string filterColumn, string filterValue)
|
||||
{
|
||||
return packageAddresses.Count;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Package Private IP Addresses
|
||||
PrivateIPAddressesPaged privateAddresses;
|
||||
public PrivateIPAddress[] GetPackagePrivateIPAddresses(int packageId, string filterColumn, string filterValue,
|
||||
string sortColumn, int maximumRows, int startRowIndex)
|
||||
{
|
||||
privateAddresses = ES.Services.VPS2012.GetPackagePrivateIPAddressesPaged(packageId, filterColumn, filterValue,
|
||||
sortColumn, startRowIndex, maximumRows);
|
||||
return privateAddresses.Items;
|
||||
}
|
||||
|
||||
public int GetPackagePrivateIPAddressesCount(int packageId, string filterColumn, string filterValue)
|
||||
{
|
||||
return privateAddresses.Count;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
|
@ -26,27 +26,24 @@
|
|||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Collections.Generic;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
|
||||
using WebsitePanel.Providers.Mail;
|
||||
using WebsitePanel.Providers.Virtualization;
|
||||
|
||||
namespace WebsitePanel.Portal
|
||||
{
|
||||
/// <summary>
|
||||
/// Summary description for IVirtualMachineCreateControl
|
||||
/// </summary>
|
||||
public interface IVirtualMachineCreateControl
|
||||
public enum VirtualMachineSettingsMode
|
||||
{
|
||||
void BindItem(VirtualMachine item);
|
||||
void SaveItem(VirtualMachine item);
|
||||
Display,
|
||||
Edit,
|
||||
Summary,
|
||||
}
|
||||
|
||||
public interface IVirtualMachineSettingsControl
|
||||
{
|
||||
VirtualMachineSettingsMode Mode { get; set; }
|
||||
void BindItem(VirtualMachine item);
|
||||
void SaveItem(ref VirtualMachine item);
|
||||
}
|
||||
|
||||
}
|
|
@ -196,7 +196,7 @@
|
|||
<value>OCS</value>
|
||||
</data>
|
||||
<data name="locSharePoint.Text" xml:space="preserve">
|
||||
<value>SharePoint</value>
|
||||
<value>SharePoint Foundation</value>
|
||||
</data>
|
||||
<data name="locTitle.Text" xml:space="preserve">
|
||||
<value>Home</value>
|
||||
|
@ -237,6 +237,9 @@
|
|||
<data name="lnkRdsUsers.Text" xml:space="preserve">
|
||||
<value>RDS Users</value>
|
||||
</data>
|
||||
<data name="locSharePointEnterprise.Text" xml:space="preserve">
|
||||
<value>SharePoint Server</value>
|
||||
</data>
|
||||
<data name="lnkEditOrganizationSettings.Text" xml:space="preserve">
|
||||
<value>Edit</value>
|
||||
</data>
|
||||
|
|
|
@ -226,6 +226,25 @@
|
|||
</tr>
|
||||
</asp:Panel>
|
||||
|
||||
<asp:Panel runat="server" ID="sharePointEnterpriseStatsPanel">
|
||||
<tr class="OrgStatsRow">
|
||||
<td class="OrgStatsGroup" width="100%" colspan="2">
|
||||
<asp:Localize ID="locSharePointEnterprise" runat="server" meta:resourcekey="locSharePointEnterprise"
|
||||
Text="Organization Statistics"></asp:Localize>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="OrgStatsRow">
|
||||
<td class="OrgStatsQuota" nowrap>
|
||||
<asp:HyperLink ID="lnkEnterpriseSiteCollections" runat="server" meta:resourcekey="lnkSiteCollections"></asp:HyperLink>
|
||||
</td>
|
||||
<td>
|
||||
<wsp:QuotaViewer ID="enterpriseSiteCollectionsStats" QuotaTypeId="2" runat="server" DisplayGauge="true" />
|
||||
</td>
|
||||
</tr>
|
||||
</asp:Panel>
|
||||
|
||||
|
||||
|
||||
<asp:Panel runat="server" ID="ocsStatsPanel">
|
||||
<tr>
|
||||
<td class="OrgStatsGroup" width="100%" colspan="2">
|
||||
|
|
|
@ -252,6 +252,21 @@ namespace WebsitePanel.Portal.ExchangeServer
|
|||
else
|
||||
sharePointStatsPanel.Visible = false;
|
||||
|
||||
//Show SharePoint statistics
|
||||
if (cntx.Groups.ContainsKey(ResourceGroups.SharepointEnterpriseServer))
|
||||
{
|
||||
sharePointEnterpriseStatsPanel.Visible = true;
|
||||
|
||||
lnkEnterpriseSiteCollections.NavigateUrl = EditUrl("ItemID", PanelRequest.ItemID.ToString(), "sharepoint_enterprise_sitecollections",
|
||||
"SpaceID=" + PanelSecurity.PackageId);
|
||||
enterpriseSiteCollectionsStats.QuotaUsedValue = orgStats.CreatedSharePointEnterpriseSiteCollections;
|
||||
enterpriseSiteCollectionsStats.QuotaValue = orgStats.AllocatedSharePointEnterpriseSiteCollections;
|
||||
if (orgStats.AllocatedSharePointEnterpriseSiteCollections != -1) enterpriseSiteCollectionsStats.QuotaAvailable = tenantStats.AllocatedSharePointEnterpriseSiteCollections - tenantStats.CreatedSharePointEnterpriseSiteCollections;
|
||||
}
|
||||
else
|
||||
sharePointEnterpriseStatsPanel.Visible = false;
|
||||
|
||||
|
||||
if (cntx.Groups.ContainsKey(ResourceGroups.OCS))
|
||||
{
|
||||
ocsStatsPanel.Visible = true;
|
||||
|
|
|
@ -543,6 +543,42 @@ namespace WebsitePanel.Portal.ExchangeServer {
|
|||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.QuotaViewer siteCollectionsStats;
|
||||
|
||||
/// <summary>
|
||||
/// sharePointEnterpriseStatsPanel control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Panel sharePointEnterpriseStatsPanel;
|
||||
|
||||
/// <summary>
|
||||
/// locSharePointEnterprise control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locSharePointEnterprise;
|
||||
|
||||
/// <summary>
|
||||
/// lnkEnterpriseSiteCollections control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.HyperLink lnkEnterpriseSiteCollections;
|
||||
|
||||
/// <summary>
|
||||
/// enterpriseSiteCollectionsStats control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.QuotaViewer enterpriseSiteCollectionsStats;
|
||||
|
||||
/// <summary>
|
||||
/// ocsStatsPanel control.
|
||||
/// </summary>
|
||||
|
|
|
@ -168,8 +168,8 @@
|
|||
<data name="Text.SharePointFoundationServerGroup" xml:space="preserve">
|
||||
<value>SharePoint Foundation</value>
|
||||
</data>
|
||||
<data name="Text.SharePointServerGroup" xml:space="preserve">
|
||||
<value>SharePoint Server</value>
|
||||
<data name="Text.SharePointEnterpriseServerGroup" xml:space="preserve">
|
||||
<value>SharePoint Enterprise</value>
|
||||
</data>
|
||||
<data name="Text.OCSGroup" xml:space="preserve">
|
||||
<value>OCS</value>
|
||||
|
|
|
@ -251,6 +251,20 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls
|
|||
groups.Add(sharepointGroup);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void PrepareSharePointEnterpriseMenu(PackageContext cntx, List<MenuGroup> groups, string imagePath, string menuItemText)
|
||||
{
|
||||
MenuGroup sharepointGroup =
|
||||
new MenuGroup(menuItemText, imagePath + "sharepoint24.png");
|
||||
sharepointGroup.MenuItems.Add(CreateMenuItem("SiteCollections", "sharepoint_enterprise_sitecollections"));
|
||||
sharepointGroup.MenuItems.Add(CreateMenuItem("StorageUsage", "sharepoint_enterprise_storage_usage"));
|
||||
sharepointGroup.MenuItems.Add(CreateMenuItem("StorageLimits", "sharepoint_enterprise_storage_settings"));
|
||||
|
||||
groups.Add(sharepointGroup);
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void PrepareOCSMenu(PackageContext cntx, List<MenuGroup> groups, string imagePath)
|
||||
|
@ -319,9 +333,9 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls
|
|||
PrepareSharePointMenu(cntx, groups, imagePath, GetLocalizedString("Text.SharePointFoundationServerGroup"));
|
||||
}
|
||||
|
||||
if (cntx.Groups.ContainsKey(ResourceGroups.SharepointServer))
|
||||
if (cntx.Groups.ContainsKey(ResourceGroups.SharepointEnterpriseServer))
|
||||
{
|
||||
PrepareSharePointMenu(cntx, groups, imagePath, GetLocalizedString("Text.SharePointServerGroup"));
|
||||
PrepareSharePointEnterpriseMenu(cntx, groups, imagePath, GetLocalizedString("Text.SharePointEnterpriseServerGroup"));
|
||||
}
|
||||
|
||||
//CRM Menu
|
||||
|
|
|
@ -0,0 +1,153 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnBackup.Text" xml:space="preserve">
|
||||
<value>Backup</value>
|
||||
</data>
|
||||
<data name="btnCancel.Text" xml:space="preserve">
|
||||
<value>Cancel</value>
|
||||
</data>
|
||||
<data name="chkZipBackup.Text" xml:space="preserve">
|
||||
<value>ZIP Backup</value>
|
||||
</data>
|
||||
<data name="FormComments.Text" xml:space="preserve">
|
||||
<value><p>The backup file that you create includes list or library content, security settings, user information, navigation, customizations, and personalizations (such as views, site templates, and content types). The backup file does not include workflows, alerts, and properties stored at the site collection level.</p></value>
|
||||
</data>
|
||||
<data name="lblBackupDestination.Text" xml:space="preserve">
|
||||
<value>Backup Destination:</value>
|
||||
</data>
|
||||
<data name="lblBackupFileName.Text" xml:space="preserve">
|
||||
<value>Backup File Name:</value>
|
||||
</data>
|
||||
<data name="lblBackupOptions.Text" xml:space="preserve">
|
||||
<value>Backup Options:</value>
|
||||
</data>
|
||||
<data name="locTitle.Text" xml:space="preserve">
|
||||
<value>Backup SharePoint Site Collection</value>
|
||||
</data>
|
||||
<data name="rbCopy.Text" xml:space="preserve">
|
||||
<value>Copy to Folder</value>
|
||||
</data>
|
||||
<data name="rbDownload.Text" xml:space="preserve">
|
||||
<value>Download via HTTP</value>
|
||||
</data>
|
||||
<data name="Text.PageName" xml:space="preserve">
|
||||
<value>Backup SharePoint Site Collection</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,207 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnBackup.Text" xml:space="preserve">
|
||||
<value>Backup Site Collection</value>
|
||||
</data>
|
||||
<data name="btnCancel.Text" xml:space="preserve">
|
||||
<value>Cancel</value>
|
||||
</data>
|
||||
<data name="btnDelete.OnClientClick" xml:space="preserve">
|
||||
<value>ShowProgressDialog('Deleting SharePoint site collection...');</value>
|
||||
</data>
|
||||
<data name="btnDelete.Text" xml:space="preserve">
|
||||
<value>Delete</value>
|
||||
</data>
|
||||
<data name="btnRestore.Text" xml:space="preserve">
|
||||
<value>Restore Site Collection</value>
|
||||
</data>
|
||||
<data name="btnUpdate.OnClientClick" xml:space="preserve">
|
||||
<value>ShowProgressDialog('Updating SharePoint site collection...');</value>
|
||||
</data>
|
||||
<data name="btnUpdate.Text" xml:space="preserve">
|
||||
<value>Update</value>
|
||||
</data>
|
||||
<data name="FormComments.Text" xml:space="preserve">
|
||||
<value><p>Here you can create new SharePoint site collection. Choose URL from the list of domains you already own. Site URL like team.yourcompany.com should be added as domain in “Domain names” organization’s menu before SharePoint site collection creation.</p>
|
||||
|
||||
<p><b>Site owner</b> is member of your organization who will be responsible for this SharePoint site collection administration: choosing site templates, adding other users, creating sub-sites.</p>
|
||||
|
||||
<p><b>Locale ID</b> defines your site language and can not be changed after site creation. However child sub sites can use another Locale IDs.</p>
|
||||
|
||||
<p>Title will be visible in site header.</p>
|
||||
|
||||
<p><b>Description</b> will be visible when you open site on the top of the main site page.</p>
|
||||
|
||||
<p>After you create this site open it using owner login, and do at least 2 main steps:
|
||||
1. Choose site template
|
||||
2. Define who will be able to access this site. To add user from your hosted organization to SharePoint site, please copy/paste his or her e-mail from user's properties in WebsitePanel to SharePoint site collection’s Users/Groups field.</p></value>
|
||||
</data>
|
||||
<data name="gvUserEmail.HeaderText" xml:space="preserve">
|
||||
<value>Email</value>
|
||||
</data>
|
||||
<data name="gvUserName.HeaderText" xml:space="preserve">
|
||||
<value>User Name</value>
|
||||
</data>
|
||||
<data name="lblDescription.Text" xml:space="preserve">
|
||||
<value>Description:</value>
|
||||
</data>
|
||||
<data name="lblSiteCollectionLocaleID.Text" xml:space="preserve">
|
||||
<value>Locale ID:</value>
|
||||
</data>
|
||||
<data name="lblSiteCollectionOwner.Text" xml:space="preserve">
|
||||
<value>Owner:</value>
|
||||
</data>
|
||||
<data name="lblSiteCollectionUrl.Text" xml:space="preserve">
|
||||
<value>Url:</value>
|
||||
</data>
|
||||
<data name="lblTitle.Text" xml:space="preserve">
|
||||
<value>Title:</value>
|
||||
</data>
|
||||
<data name="lblWarningStorage.Text" xml:space="preserve">
|
||||
<value>Send warning E-mail when site storage reaches (MB):</value>
|
||||
</data>
|
||||
<data name="localesList.Text" xml:space="preserve">
|
||||
<value>Full list of locales</value>
|
||||
</data>
|
||||
<data name="locTitle.Text" xml:space="preserve">
|
||||
<value>SharePoint Site Collection</value>
|
||||
</data>
|
||||
<data name="secMainTools.Text" xml:space="preserve">
|
||||
<value>SharePoint Site Collection Tools</value>
|
||||
</data>
|
||||
<data name="Text.Add" xml:space="preserve">
|
||||
<value>Add Site Collection</value>
|
||||
</data>
|
||||
<data name="Text.PageName" xml:space="preserve">
|
||||
<value>Edit SharePoint Site Collection</value>
|
||||
</data>
|
||||
<data name="Text.Update" xml:space="preserve">
|
||||
<value>Update</value>
|
||||
</data>
|
||||
<data name="lblMaxStorage.Text" xml:space="preserve">
|
||||
<value>Maximum site storage size (MB):</value>
|
||||
</data>
|
||||
<data name="WarningUnlimitedValue" xml:space="preserve">
|
||||
<value>Do not send</value>
|
||||
</data>
|
||||
<data name="btnCreate.OnClientClick" xml:space="preserve">
|
||||
<value>ShowProgressDialog('Creating SharePoint site collection...');</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,153 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnAddItem.Text" xml:space="preserve">
|
||||
<value>Add SharePoint Enterprise Site Collection</value>
|
||||
</data>
|
||||
<data name="btnCreateSiteCollection.Text" xml:space="preserve">
|
||||
<value>Create New Site Collection</value>
|
||||
</data>
|
||||
<data name="cmdDelete.Text" xml:space="preserve">
|
||||
<value>Delete</value>
|
||||
</data>
|
||||
<data name="ddlSearchColumnUrl.Text" xml:space="preserve">
|
||||
<value>Url</value>
|
||||
</data>
|
||||
<data name="FormComments.Text" xml:space="preserve">
|
||||
<value><p><b>SharePoint site collection</b> is a group of sites built on Microsoft Windows SharePoint Services that all exist under a top-level site. To make managing the sites and their content more convenient, you can assign users to be site collection administrators or site collection owners. These are permission levels to give to users who you want to have full administrative rights to all sites and content within a site collection.</p></value>
|
||||
</data>
|
||||
<data name="gvOwnerDisplayName.HeaderText" xml:space="preserve">
|
||||
<value>Owner</value>
|
||||
</data>
|
||||
<data name="gvSiteCollection.Empty" xml:space="preserve">
|
||||
<value>No SharePoint site collections have been created. To create a SharePoint site collection click "Create New Site Collection" button.</value>
|
||||
</data>
|
||||
<data name="gvSiteCollectionUrl.HeaderText" xml:space="preserve">
|
||||
<value>Site Collection Url</value>
|
||||
</data>
|
||||
<data name="locQuota.Text" xml:space="preserve">
|
||||
<value>Total Site Collections Created:</value>
|
||||
</data>
|
||||
<data name="locTitle.Text" xml:space="preserve">
|
||||
<value>SharePoint Enterprise Site Collections</value>
|
||||
</data>
|
||||
<data name="Text.PageName" xml:space="preserve">
|
||||
<value>SharePoint Enterprise Site Collections</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,150 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnCancel.Text" xml:space="preserve">
|
||||
<value>Cancel</value>
|
||||
</data>
|
||||
<data name="btnRestore.OnClientClick" xml:space="preserve">
|
||||
<value>ShowProgressDialog('Restoring SharePoint site collection...');</value>
|
||||
</data>
|
||||
<data name="btnRestore.Text" xml:space="preserve">
|
||||
<value>Restore</value>
|
||||
</data>
|
||||
<data name="FormComments.Text" xml:space="preserve">
|
||||
<value><p>After site collection is restored it will have primary administrator assigned to it as it was before restoration (primary administrator record from backup is ignored).</p></value>
|
||||
</data>
|
||||
<data name="lblAllowedFiles.Text" xml:space="preserve">
|
||||
<value>.ZIP, .BAK files are allowed</value>
|
||||
</data>
|
||||
<data name="lblRestoreFrom.Text" xml:space="preserve">
|
||||
<value>Restore From:</value>
|
||||
</data>
|
||||
<data name="locTitle.Text" xml:space="preserve">
|
||||
<value>Restore SharePoint Site Collection</value>
|
||||
</data>
|
||||
<data name="radioFile.Text" xml:space="preserve">
|
||||
<value>Hosting Space File</value>
|
||||
</data>
|
||||
<data name="radioUpload.Text" xml:space="preserve">
|
||||
<value>Uploaded File</value>
|
||||
</data>
|
||||
<data name="Text.PageName" xml:space="preserve">
|
||||
<value>Restore SharePoint Site Collection</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,154 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnSave.Text" xml:space="preserve">
|
||||
<value>Save</value>
|
||||
</data>
|
||||
<data name="btnSaveApply.Text" xml:space="preserve">
|
||||
<value>Save and Apply to All Site Collections</value>
|
||||
</data>
|
||||
<data name="FormComments.Text" xml:space="preserve">
|
||||
<value><p>Storage settings are used to limit the amount of storage available on a SharePoint site collection, and they are used to send e-mail alerts to the site administrator when a specified value of space is used.</p>
|
||||
|
||||
<p>These settings will be applied to the new site collections only. By clicking "Save and Apply to All Site Collections" button you can override these settings for all existing site collections.</p>
|
||||
|
||||
<p>Please note, that you cannot specify storage settings higher than defined in the space hosting plan.</p></value>
|
||||
</data>
|
||||
<data name="locMaxStorage.Text" xml:space="preserve">
|
||||
<value>Maximum site storage size (MB):</value>
|
||||
</data>
|
||||
<data name="locWarningStorage.Text" xml:space="preserve">
|
||||
<value>Send warning E-mail when site storage reaches (MB):</value>
|
||||
</data>
|
||||
<data name="locTitle.Text" xml:space="preserve">
|
||||
<value>Storage Settings</value>
|
||||
</data>
|
||||
<data name="Text.PageName" xml:space="preserve">
|
||||
<value>Storage Settings</value>
|
||||
</data>
|
||||
<data name="secStorageLimits.Text" xml:space="preserve">
|
||||
<value>Storage Settings</value>
|
||||
</data>
|
||||
<data name="chkQuotaUnlimited.Text" xml:space="preserve">
|
||||
<value>Don't use</value>
|
||||
</data>
|
||||
<data name="WarningUnlimitedValue" xml:space="preserve">
|
||||
<value>Do not send</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,150 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnRecalculateDiscSpace.Text" xml:space="preserve">
|
||||
<value>Recalculate Disk Space</value>
|
||||
</data>
|
||||
<data name="FormComments.Text" xml:space="preserve">
|
||||
<value><p>SharePoint disk space usage is calculated on timely basis (usually once a day). You can recalculate it right now by clicking "Recalculate Disk Space" button.</p></value>
|
||||
</data>
|
||||
<data name="gvSiteCollectionName.HeaderText" xml:space="preserve">
|
||||
<value>Site Collection</value>
|
||||
</data>
|
||||
<data name="gvSiteCollectionSize.HeaderText" xml:space="preserve">
|
||||
<value>Total Size, MB</value>
|
||||
</data>
|
||||
<data name="gvStorageUsage.EmptyDataText" xml:space="preserve">
|
||||
<value>There are no site collections</value>
|
||||
</data>
|
||||
<data name="locTitle.Text" xml:space="preserve">
|
||||
<value>Storage Usage</value>
|
||||
</data>
|
||||
<data name="secSiteCollectionsReport.Text" xml:space="preserve">
|
||||
<value>Site Collections</value>
|
||||
</data>
|
||||
<data name="Text.PageName" xml:space="preserve">
|
||||
<value>Storage Usage</value>
|
||||
</data>
|
||||
<data name="locTotalMailboxesSize.Text" xml:space="preserve">
|
||||
<value>Total Size (MB):</value>
|
||||
</data>
|
||||
<data name="locTotalMailboxItems.Text" xml:space="preserve">
|
||||
<value>Total Items:</value>
|
||||
</data>
|
||||
</root>
|
|
@ -1,10 +1,11 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" Codebehind="HostedSharePointBackupSiteCollection.ascx.cs"
|
||||
Inherits="WebsitePanel.Portal.HostedSharePointBackupSiteCollection" %>
|
||||
<%@ Register Src="UserControls/FileLookup.ascx" TagName="FileLookup" TagPrefix="uc1" %>
|
||||
<%@ Register Src="UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox"
|
||||
<%@ Register Src="../UserControls/FileLookup.ascx" TagName="FileLookup" TagPrefix="uc1" %>
|
||||
<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox"
|
||||
TagPrefix="wsp" %>
|
||||
|
||||
<%@ Register Src="UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport"
|
||||
|
||||
<%@ Register Src="../ExchangeServer/UserControls/Menu.ascx" TagName="Menu" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport"
|
||||
TagPrefix="wsp" %>
|
||||
|
||||
<wsp:EnableAsyncTasksSupport id="asyncTasks" runat="server" />
|
|
@ -61,11 +61,6 @@ namespace WebsitePanel.Portal
|
|||
}
|
||||
}
|
||||
|
||||
public static string GroupName
|
||||
{
|
||||
get { return HttpContext.Current.Request["GroupName"]; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
|
@ -165,10 +160,10 @@ namespace WebsitePanel.Portal
|
|||
RedirectBack();
|
||||
}
|
||||
|
||||
private void RedirectBack()
|
||||
{
|
||||
HttpContext.Current.Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "sharepoint_edit_sitecollection", "SiteCollectionID=" + this.SiteCollectionId, "ItemID=" + PanelRequest.ItemID.ToString(), "GroupName=" + GroupName));
|
||||
}
|
||||
private void RedirectBack()
|
||||
{
|
||||
HttpContext.Current.Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "sharepoint_edit_sitecollection", "SiteCollectionID=" + this.SiteCollectionId, "ItemID=" + PanelRequest.ItemID.ToString()));
|
||||
}
|
||||
|
||||
protected void chkZipBackup_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
|
@ -1,31 +1,3 @@
|
|||
// Copyright (c) 2015, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
|
@ -1,13 +1,14 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" Codebehind="HostedSharePointEditSiteCollection.ascx.cs" Inherits="WebsitePanel.Portal.HostedSharePointEditSiteCollection" %>
|
||||
<%@ Register Src="ExchangeServer/UserControls/SizeBox.ascx" TagName="SizeBox" TagPrefix="wsp" %>
|
||||
<%@ Register Src="UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %>
|
||||
<%@ Register Src="UserControls/CollapsiblePanel.ascx" TagName="CollapsiblePanel" TagPrefix="wsp" %>
|
||||
<%@ Register Src="UserControls/PopupHeader.ascx" TagName="PopupHeader" TagPrefix="wsp" %>
|
||||
<%@ Register Src="UserControls/AllocatePackageIPAddresses.ascx" TagName="SiteUrlBuilder" TagPrefix="wsp" %>
|
||||
<%@ Register Src="ExchangeServer/UserControls/UserSelector.ascx" TagName="UserSelector" TagPrefix="wsp" %>
|
||||
<%@ Register Src="UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %>
|
||||
<%@ Register src="UserControls/QuotaEditor.ascx" tagname="QuotaEditor" tagprefix="uc1" %>
|
||||
<%@ Register Src="DomainsSelectDomainControl.ascx" TagName="DomainsSelectDomainControl" TagPrefix="uc1" %>
|
||||
<%@ Register Src="../ExchangeServer/UserControls/SizeBox.ascx" TagName="SizeBox" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../UserControls/CollapsiblePanel.ascx" TagName="CollapsiblePanel" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../UserControls/PopupHeader.ascx" TagName="PopupHeader" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../ExchangeServer/UserControls/Menu.ascx" TagName="Menu" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../UserControls/AllocatePackageIPAddresses.ascx" TagName="SiteUrlBuilder" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../ExchangeServer/UserControls/UserSelector.ascx" TagName="UserSelector" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %>
|
||||
<%@ Register src="../UserControls/QuotaEditor.ascx" tagname="QuotaEditor" tagprefix="uc1" %>
|
||||
<%@ Register Src="../DomainsSelectDomainControl.ascx" TagName="DomainsSelectDomainControl" TagPrefix="uc1" %>
|
||||
|
||||
<wsp:EnableAsyncTasksSupport id="asyncTasks" runat="server" />
|
||||
|
|
@ -44,11 +44,6 @@ namespace WebsitePanel.Portal
|
|||
{
|
||||
SharePointSiteCollection item = null;
|
||||
|
||||
public static string GroupName
|
||||
{
|
||||
get { return HttpContext.Current.Request["GroupName"]; }
|
||||
}
|
||||
|
||||
private int OrganizationId
|
||||
{
|
||||
get
|
||||
|
@ -230,7 +225,7 @@ namespace WebsitePanel.Portal
|
|||
/// <returns> Reserved disk space vallue.</returns>
|
||||
private int GetReservedDiskStorageSpace()
|
||||
{
|
||||
var existingCollections = ES.Services.HostedSharePointServers.GetSiteCollections(PanelSecurity.PackageId, false, GroupName);
|
||||
var existingCollections = ES.Services.HostedSharePointServers.GetSiteCollections(PanelSecurity.PackageId, false);
|
||||
|
||||
return (int)existingCollections.Sum(siteCollection => siteCollection.MaxSiteStorage);
|
||||
}
|
||||
|
@ -257,20 +252,9 @@ namespace WebsitePanel.Portal
|
|||
{
|
||||
item = new SharePointSiteCollection();
|
||||
|
||||
string groupName = GroupName;
|
||||
|
||||
if (ResourceGroups.SharepointFoundationServer.Replace(" ", "").Equals(groupName))
|
||||
{
|
||||
groupName = ResourceGroups.SharepointFoundationServer;
|
||||
}
|
||||
else if (ResourceGroups.SharepointServer.Replace(" ", "").Equals(groupName))
|
||||
{
|
||||
groupName = ResourceGroups.SharepointServer;
|
||||
}
|
||||
|
||||
if (!UseSharedSLL(PanelSecurity.PackageId))
|
||||
if (!UseSharedSLL(PanelSecurity.PackageId))
|
||||
{
|
||||
SharePointSiteCollectionListPaged existentSiteCollections = ES.Services.HostedSharePointServers.GetSiteCollectionsPaged(PanelSecurity.PackageId, this.OrganizationId, "ItemName", String.Format("%{0}", this.domain.DomainName), String.Empty, 0, Int32.MaxValue, groupName);
|
||||
SharePointSiteCollectionListPaged existentSiteCollections = ES.Services.HostedSharePointServers.GetSiteCollectionsPaged(PanelSecurity.PackageId, this.OrganizationId, "ItemName", String.Format("%{0}", this.domain.DomainName), String.Empty, 0, Int32.MaxValue);
|
||||
foreach (SharePointSiteCollection existentSiteCollection in existentSiteCollections.SiteCollections)
|
||||
{
|
||||
Uri existentSiteCollectionUri = new Uri(existentSiteCollection.Name);
|
||||
|
@ -303,7 +287,7 @@ namespace WebsitePanel.Portal
|
|||
item.MaxSiteStorage = maxStorage.QuotaValue;
|
||||
item.WarningStorage = warningStorage.QuotaValue;
|
||||
|
||||
int result = ES.Services.HostedSharePointServers.AddSiteCollection(item, groupName);
|
||||
int result = ES.Services.HostedSharePointServers.AddSiteCollection(item);
|
||||
if (result < 0)
|
||||
{
|
||||
localMessageBox.ShowResultMessage(result);
|
||||
|
@ -390,19 +374,19 @@ namespace WebsitePanel.Portal
|
|||
|
||||
protected void btnBackup_Click(object sender, EventArgs e)
|
||||
{
|
||||
Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "sharepoint_backup_sitecollection", "SiteCollectionID=" + this.SiteCollectionId, "ItemID=" + PanelRequest.ItemID.ToString(), "GroupName=" + GroupName));
|
||||
Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "sharepoint_backup_sitecollection", "SiteCollectionID=" + this.SiteCollectionId, "ItemID=" + PanelRequest.ItemID.ToString()));
|
||||
}
|
||||
|
||||
protected void btnRestore_Click(object sender, EventArgs e)
|
||||
{
|
||||
Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "sharepoint_restore_sitecollection", "SiteCollectionID=" + this.SiteCollectionId, "ItemID=" + PanelRequest.ItemID.ToString(), "GroupName=" + GroupName));
|
||||
Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "sharepoint_restore_sitecollection", "SiteCollectionID=" + this.SiteCollectionId, "ItemID=" + PanelRequest.ItemID.ToString()));
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void RedirectToSiteCollectionsList()
|
||||
{
|
||||
Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "sharepoint_sitecollections", "ItemID=" + PanelRequest.ItemID.ToString(), "GroupName=" + GroupName));
|
||||
Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "sharepoint_sitecollections", "ItemID=" + PanelRequest.ItemID.ToString()));
|
||||
}
|
||||
|
||||
private bool UseSharedSLL(int packageID)
|
|
@ -1,31 +1,3 @@
|
|||
// Copyright (c) 2015, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
|
@ -0,0 +1,80 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" Codebehind="HostedSharePointEnterpriseBackupSiteCollection.ascx.cs"
|
||||
Inherits="WebsitePanel.Portal.HostedSharePointEnterpriseBackupSiteCollection" %>
|
||||
<%@ Register Src="../UserControls/FileLookup.ascx" TagName="FileLookup" TagPrefix="uc1" %>
|
||||
<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox"
|
||||
TagPrefix="wsp" %>
|
||||
|
||||
<%@ Register Src="../ExchangeServer/UserControls/Menu.ascx" TagName="Menu" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport"
|
||||
TagPrefix="wsp" %>
|
||||
|
||||
<wsp:EnableAsyncTasksSupport id="asyncTasks" runat="server" />
|
||||
|
||||
|
||||
<div id="ExchangeContainer">
|
||||
<div class="Module">
|
||||
<div class="Left">
|
||||
</div>
|
||||
<div class="Content">
|
||||
<div class="Center">
|
||||
<div class="Title">
|
||||
<asp:Image ID="Image1" SkinID="SharePointSiteCollection48" runat="server" />
|
||||
<asp:Localize ID="locTitle" runat="server" meta:resourcekey="locTitle" Text="SharePoint Site Collections"></asp:Localize>
|
||||
</div>
|
||||
<div class="FormBody">
|
||||
<wsp:SimpleMessageBox id="messageBox" runat="server" />
|
||||
<table cellspacing="0" cellpadding="5" width="100%">
|
||||
<tr>
|
||||
<td class="Huge" colspan="2">
|
||||
<asp:Literal ID="litSiteCollectionName" runat="server"></asp:Literal></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead" valign="top">
|
||||
<asp:Label ID="lblBackupFileName" runat="server" meta:resourcekey="lblBackupFileName"
|
||||
Text="Backup File Name:"></asp:Label></td>
|
||||
<td class="normal">
|
||||
<asp:TextBox ID="txtBackupName" runat="server" CssClass="NormalTextBox" Width="200"></asp:TextBox><asp:RequiredFieldValidator
|
||||
ID="validatorUserName" runat="server" ControlToValidate="txtBackupName" CssClass="NormalBold"
|
||||
Display="Dynamic" ErrorMessage="*"></asp:RequiredFieldValidator></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead" valign="top">
|
||||
<asp:Label ID="lblBackupOptions" runat="server" meta:resourcekey="lblBackupOptions"
|
||||
Text="Backup Options:"></asp:Label></td>
|
||||
<td class="normal">
|
||||
<asp:CheckBox ID="chkZipBackup" runat="server" meta:resourcekey="chkZipBackup" Checked="True"
|
||||
Text="ZIP Backup" AutoPostBack="True" OnCheckedChanged="chkZipBackup_CheckedChanged">
|
||||
</asp:CheckBox><br />
|
||||
<br />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead" valign="top">
|
||||
<asp:Label ID="lblBackupDestination" runat="server" meta:resourcekey="lblBackupDestination"
|
||||
Text="Backup Destination:"></asp:Label></td>
|
||||
<td class="normal">
|
||||
<asp:RadioButton ID="rbDownload" runat="server" meta:resourcekey="rbDownload" Checked="True"
|
||||
Text="Download via HTTP" GroupName="action" AutoPostBack="True" OnCheckedChanged="rbDownload_CheckedChanged">
|
||||
</asp:RadioButton><br />
|
||||
<asp:RadioButton ID="rbCopy" runat="server" meta:resourcekey="rbCopy" Text="Copy to Folder"
|
||||
GroupName="action" AutoPostBack="True" OnCheckedChanged="rbDownload_CheckedChanged">
|
||||
</asp:RadioButton><br />
|
||||
<uc1:FileLookup ID="fileLookup" runat="server" Width="300" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="FormFooterClean">
|
||||
<asp:Button ID="btnBackup" runat="server" meta:resourcekey="btnBackup" CssClass="Button1"
|
||||
Text="Backup" OnClick="btnBackup_Click"/>
|
||||
<asp:Button ID="btnCancel" runat="server" meta:resourcekey="btnCancel" CssClass="Button1"
|
||||
CausesValidation="false" Text="Cancel" OnClick="btnCancel_Click" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,189 @@
|
|||
// Copyright (c) 2015, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using WebsitePanel.Providers.SharePoint;
|
||||
|
||||
namespace WebsitePanel.Portal
|
||||
{
|
||||
public partial class HostedSharePointEnterpriseBackupSiteCollection : WebsitePanelModuleBase
|
||||
{
|
||||
private const string BACKUP_EXTENSION = ".bsh";
|
||||
|
||||
private int OrganizationId
|
||||
{
|
||||
get
|
||||
{
|
||||
return PanelRequest.GetInt("ItemID");
|
||||
}
|
||||
}
|
||||
|
||||
private int SiteCollectionId
|
||||
{
|
||||
get
|
||||
{
|
||||
return PanelRequest.GetInt("SiteCollectionID");
|
||||
}
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
BindSite();
|
||||
}
|
||||
}
|
||||
|
||||
private void BindSite()
|
||||
{
|
||||
try
|
||||
{
|
||||
SharePointEnterpriseSiteCollection siteCollection = ES.Services.HostedSharePointServersEnt.Enterprise_GetSiteCollection(this.SiteCollectionId);
|
||||
litSiteCollectionName.Text = siteCollection.PhysicalAddress;
|
||||
txtBackupName.Text = siteCollection.Url + BACKUP_EXTENSION;
|
||||
fileLookup.SelectedFile = "\\";
|
||||
fileLookup.PackageId = siteCollection.PackageId;
|
||||
|
||||
BindBackupName();
|
||||
ToggleControls();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ShowErrorMessage("SHAREPOINT_GET_SITE", ex);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
private void BindBackupName()
|
||||
{
|
||||
string backupName = Path.GetFileNameWithoutExtension(txtBackupName.Text);
|
||||
txtBackupName.Text = backupName + (chkZipBackup.Checked ? ".zip" : BACKUP_EXTENSION);
|
||||
}
|
||||
|
||||
private void ToggleControls()
|
||||
{
|
||||
fileLookup.Visible = rbCopy.Checked;
|
||||
}
|
||||
|
||||
private void BackupSiteCollection()
|
||||
{
|
||||
try
|
||||
{
|
||||
string bakFile = ES.Services.HostedSharePointServersEnt.Enterprise_BackupSiteCollection(this.SiteCollectionId,
|
||||
txtBackupName.Text, chkZipBackup.Checked, rbDownload.Checked, fileLookup.SelectedFile);
|
||||
|
||||
if (rbDownload.Checked && !String.IsNullOrEmpty(bakFile))
|
||||
{
|
||||
|
||||
string fileName = bakFile;
|
||||
|
||||
//Response.Clear();
|
||||
Response.AddHeader("Content-Disposition", "attachment; filename=" + Path.GetFileName(fileName));
|
||||
Response.ContentType = "application/octet-stream";
|
||||
|
||||
int FILE_BUFFER_LENGTH = 5000000;
|
||||
byte[] buffer = null;
|
||||
int offset = 0;
|
||||
do
|
||||
{
|
||||
// Read remote content.
|
||||
buffer = ES.Services.HostedSharePointServersEnt.Enterprise_GetBackupBinaryChunk(this.SiteCollectionId, fileName, offset, FILE_BUFFER_LENGTH);
|
||||
|
||||
// Write to stream.
|
||||
//Response.BinaryWrite(buffer);
|
||||
Response.OutputStream.Write(buffer, 0, buffer.Length);
|
||||
offset += FILE_BUFFER_LENGTH;
|
||||
}
|
||||
while (buffer.Length == FILE_BUFFER_LENGTH);
|
||||
|
||||
Response.Flush();
|
||||
Response.End();
|
||||
//Response.Close();
|
||||
//HttpContext.Current.ApplicationInstance.CompleteRequest();
|
||||
//Response.End();
|
||||
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ShowErrorMessage("SHAREPOINT_BACKUP_SITE", ex);
|
||||
return;
|
||||
}
|
||||
//Response.ClearContent();
|
||||
Context.Response.Clear();
|
||||
if (!rbDownload.Checked)
|
||||
RedirectBack();
|
||||
|
||||
}
|
||||
|
||||
protected void btnBackup_Click(object sender, EventArgs e)
|
||||
{
|
||||
BackupSiteCollection();
|
||||
}
|
||||
protected void btnCancel_Click(object sender, EventArgs e)
|
||||
{
|
||||
RedirectBack();
|
||||
}
|
||||
|
||||
private void RedirectBack()
|
||||
{
|
||||
HttpContext.Current.Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "sharepoint_enterprise_edit_sitecollection", "SiteCollectionID=" + this.SiteCollectionId, "ItemID=" + PanelRequest.ItemID.ToString()));
|
||||
}
|
||||
|
||||
protected void chkZipBackup_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
BindBackupName();
|
||||
}
|
||||
|
||||
protected void rbDownload_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
ToggleControls();
|
||||
}
|
||||
|
||||
protected override void OnPreRender(EventArgs e)
|
||||
{
|
||||
string str = string.Format("var rb = document.getElementById('{0}'); if (!rb.checked) ShowProgressDialog('Backing up site collection...');", rbDownload.ClientID);
|
||||
|
||||
|
||||
|
||||
btnBackup.Attributes.Add("onclick", str);
|
||||
base.OnPreRender(e);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,159 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal {
|
||||
|
||||
|
||||
public partial class HostedSharePointEnterpriseBackupSiteCollection {
|
||||
|
||||
/// <summary>
|
||||
/// asyncTasks control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks;
|
||||
|
||||
/// <summary>
|
||||
/// Image1 control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Image Image1;
|
||||
|
||||
/// <summary>
|
||||
/// locTitle control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locTitle;
|
||||
|
||||
/// <summary>
|
||||
/// messageBox control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox;
|
||||
|
||||
/// <summary>
|
||||
/// litSiteCollectionName control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litSiteCollectionName;
|
||||
|
||||
/// <summary>
|
||||
/// lblBackupFileName control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblBackupFileName;
|
||||
|
||||
/// <summary>
|
||||
/// txtBackupName control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtBackupName;
|
||||
|
||||
/// <summary>
|
||||
/// validatorUserName control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RequiredFieldValidator validatorUserName;
|
||||
|
||||
/// <summary>
|
||||
/// lblBackupOptions control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblBackupOptions;
|
||||
|
||||
/// <summary>
|
||||
/// chkZipBackup control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.CheckBox chkZipBackup;
|
||||
|
||||
/// <summary>
|
||||
/// lblBackupDestination control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblBackupDestination;
|
||||
|
||||
/// <summary>
|
||||
/// rbDownload control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RadioButton rbDownload;
|
||||
|
||||
/// <summary>
|
||||
/// rbCopy control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RadioButton rbCopy;
|
||||
|
||||
/// <summary>
|
||||
/// fileLookup control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.FileLookup fileLookup;
|
||||
|
||||
/// <summary>
|
||||
/// btnBackup control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnBackup;
|
||||
|
||||
/// <summary>
|
||||
/// btnCancel control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnCancel;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,209 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" Codebehind="HostedSharePointEnterpriseEditSiteCollection.ascx.cs" Inherits="WebsitePanel.Portal.HostedSharePointEnterpriseEditSiteCollection" %>
|
||||
<%@ Register Src="../ExchangeServer/UserControls/SizeBox.ascx" TagName="SizeBox" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../UserControls/CollapsiblePanel.ascx" TagName="CollapsiblePanel" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../UserControls/PopupHeader.ascx" TagName="PopupHeader" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../ExchangeServer/UserControls/Menu.ascx" TagName="Menu" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../UserControls/AllocatePackageIPAddresses.ascx" TagName="SiteUrlBuilder" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../ExchangeServer/UserControls/UserSelector.ascx" TagName="UserSelector" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %>
|
||||
<%@ Register src="../UserControls/QuotaEditor.ascx" tagname="QuotaEditor" tagprefix="uc1" %>
|
||||
<%@ Register Src="../DomainsSelectDomainControl.ascx" TagName="DomainsSelectDomainControl" TagPrefix="uc1" %>
|
||||
|
||||
<wsp:EnableAsyncTasksSupport id="asyncTasks" runat="server" />
|
||||
|
||||
<div id="ExchangeContainer">
|
||||
<div class="Module">
|
||||
<div class="Left">
|
||||
</div>
|
||||
<div class="Content">
|
||||
<div class="Center">
|
||||
<div class="Title">
|
||||
<asp:Image ID="Image1" SkinID="SharePointSiteCollection48" runat="server" />
|
||||
<asp:Localize ID="locTitle" runat="server" meta:resourcekey="locTitle" Text="SharePoint Site Collection"></asp:Localize>
|
||||
</div>
|
||||
<div class="FormBody">
|
||||
<wsp:SimpleMessageBox id="localMessageBox" runat="server">
|
||||
</wsp:SimpleMessageBox>
|
||||
<table id="tblEditItem" runat="server" cellspacing="0" cellpadding="5" width="100%">
|
||||
<tr id="rowUrl">
|
||||
<td class="SubHead" nowrap width="200">
|
||||
<asp:Label ID="lblSiteCollectionUrl" runat="server" meta:resourcekey="lblSiteCollectionUrl"
|
||||
Text="Url:"></asp:Label>
|
||||
</td>
|
||||
<td width="100%" class="NormalBold">
|
||||
<asp:TextBox ID="txtHostName" runat="server" CssClass="TextBox100" MaxLength="64"></asp:TextBox>.<uc1:DomainsSelectDomainControl ID="domain" runat="server" HideWebSites="false" HideDomainPointers="true" HideInstantAlias="true"/>
|
||||
<asp:RequiredFieldValidator ID="valRequireHostName" runat="server" meta:resourcekey="valRequireHostName" ControlToValidate="txtHostName"
|
||||
ErrorMessage="Enter hostname" ValidationGroup="CreateSite" Display="Dynamic" Text="*" SetFocusOnError="True"></asp:RequiredFieldValidator>
|
||||
<asp:RegularExpressionValidator ID="valRequireCorrectHostName" runat="server"
|
||||
ErrorMessage="Enter valid hostname" ControlToValidate="txtHostName" Display="Dynamic"
|
||||
meta:resourcekey="valRequireCorrectHostName" ValidationExpression="^([0-9a-zA-Z])*[0-9a-zA-Z]+$" SetFocusOnError="True"></asp:RegularExpressionValidator>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Label ID="lblSiteCollectionOwner" runat="server" meta:resourcekey="lblSiteCollectionOwner"
|
||||
Text="Owner:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<wsp:UserSelector id="userSelector" IncludeMailboxes="true" runat="server"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Label ID="lblSiteCollectionLocaleID" runat="server" meta:resourcekey="lblSiteCollectionLocaleID"
|
||||
Text="Locale ID:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<asp:DropDownList ID="ddlLocaleID" runat="server" DataTextField="DisplayName" DataValueField="LCID" ></asp:DropDownList>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Label ID="lblMaxStorage" runat="server" meta:resourcekey="lblMaxStorage"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<uc1:QuotaEditor ID="maxStorage" runat="server" Width="200px" CssClass="NormalTextBox" QuotaTypeId="2" />
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Label ID="lblWarningStorage" runat="server" meta:resourcekey="lblWarningStorage"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<uc1:QuotaEditor ID="warningStorage" runat="server" Width="200px" QuotaTypeId="2" CssClass="NormalTextBox"/>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Label ID="lblTitle" runat="server" meta:resourcekey="lblTitle" Text="Title:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<asp:TextBox ID="txtTitle" runat="server" Width="200px" CssClass="NormalTextBox" ></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="valRequireTitle" runat="server" ErrorMessage="*"
|
||||
ControlToValidate="txtTitle" ValidationGroup="CreateSiteCollection"></asp:RequiredFieldValidator>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Label ID="lblDescription" runat="server" meta:resourcekey="lblDescription" Text="Description:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<asp:TextBox ID="txtDescription" runat="server" Width="200px" CssClass="NormalTextBox"
|
||||
TextMode="MultiLine" Rows="5"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="*"
|
||||
ControlToValidate="txtDescription" ValidationGroup="CreateSiteCollection"></asp:RequiredFieldValidator>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table id="tblViewItem" runat="server" cellspacing="0" cellpadding="5" width="100%">
|
||||
<tr>
|
||||
<td class="SubHead" nowrap width="200">
|
||||
<asp:Label ID="lblSiteCollectionUrl2" runat="server" meta:resourcekey="lblSiteCollectionUrl"
|
||||
Text="Url:"></asp:Label>
|
||||
</td>
|
||||
<td width="100%" class="NormalBold">
|
||||
<span class="Huge">
|
||||
<asp:HyperLink runat="server" ID="lnkUrl" /> </span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Label ID="lblSiteCollectionOwner2" runat="server" meta:resourcekey="lblSiteCollectionOwner"
|
||||
Text="Owner:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<asp:Literal ID="litSiteCollectionOwner" runat="server"></asp:Literal>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Label ID="lblSiteCollectionLocaleID2" runat="server" meta:resourcekey="lblSiteCollectionLocaleID"
|
||||
Text="Locale ID:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<asp:Literal ID="litLocaleID" runat="server"></asp:Literal>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Label ID="lblMaxStorageView" runat="server" meta:resourcekey="lblMaxStorage"
|
||||
Text="Limit site storage to a maximum of:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<uc1:QuotaEditor ID="editMaxStorage" runat="server" Width="200px" QuotaTypeId="2" CssClass="NormalTextBox"/>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Label ID="lblWarningStorageView" runat="server" meta:resourcekey="lblWarningStorage"
|
||||
Text="Send warning E-mail when site storage reaches:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<uc1:QuotaEditor ID="editWarningStorage" runat="server" Width="200px" QuotaTypeId="2" CssClass="NormalTextBox"/>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Label ID="lblTitle2" runat="server" meta:resourcekey="lblTitle" Text="Title:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<asp:Literal ID="litTitle" runat="server"></asp:Literal>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Label ID="lblDescription2" runat="server" meta:resourcekey="lblDescription"
|
||||
Text="Description:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<asp:Literal ID="litDescription" runat="server"></asp:Literal>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td>
|
||||
<wsp:CollapsiblePanel id="secMainTools" runat="server" IsCollapsed="true" TargetControlID="ToolsPanel"
|
||||
meta:resourcekey="secMainTools" Text="SharePoint Site Collection Tools">
|
||||
</wsp:CollapsiblePanel>
|
||||
<asp:Panel ID="ToolsPanel" runat="server" Height="0" Style="overflow: hidden;">
|
||||
<table id="tblMaintenance" runat="server" cellpadding="10">
|
||||
<tr>
|
||||
<td>
|
||||
<asp:Button ID="btnBackup" runat="server" meta:resourcekey="btnBackup" CausesValidation="false"
|
||||
Text="Backup Site Collection" CssClass="Button3" OnClick="btnBackup_Click" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<asp:Button ID="btnRestore" runat="server" meta:resourcekey="btnRestore" CausesValidation="false"
|
||||
Text="Restore Site Collection" CssClass="Button3" OnClick="btnRestore_Click" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</asp:Panel>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="FormFooterClean">
|
||||
<asp:Button ID="btnUpdate" runat="server" CssClass="Button1"
|
||||
Text="Update" OnClick="btnUpdate_Click" ValidationGroup="CreateSiteCollection" />
|
||||
<asp:Button ID="btnCancel" runat="server" meta:resourcekey="btnCancel" CssClass="Button1"
|
||||
CausesValidation="false" Text="Cancel" OnClick="btnCancel_Click" />
|
||||
<asp:Button ID="btnDelete" runat="server" meta:resourcekey="btnDelete" CssClass="Button1"
|
||||
CausesValidation="false" Text="Delete" OnClientClick="return confirm('Delete Site?');"
|
||||
OnClick="btnDelete_Click" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,450 @@
|
|||
// Copyright (c) 2015, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.UI.WebControls;
|
||||
using WebsitePanel.EnterpriseServer;
|
||||
using WebsitePanel.Providers.DNS;
|
||||
using WebsitePanel.Providers.HostedSolution;
|
||||
using WebsitePanel.Providers.SharePoint;
|
||||
|
||||
|
||||
namespace WebsitePanel.Portal
|
||||
{
|
||||
public partial class HostedSharePointEnterpriseEditSiteCollection : WebsitePanelModuleBase
|
||||
{
|
||||
SharePointEnterpriseSiteCollection item = null;
|
||||
|
||||
private int OrganizationId
|
||||
{
|
||||
get
|
||||
{
|
||||
return PanelRequest.GetInt("ItemID");
|
||||
}
|
||||
}
|
||||
|
||||
private int SiteCollectionId
|
||||
{
|
||||
get
|
||||
{
|
||||
return PanelRequest.GetInt("SiteCollectionID");
|
||||
}
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
domain.PackageId = PanelSecurity.PackageId;
|
||||
|
||||
warningStorage.UnlimitedText = GetLocalizedString("WarningUnlimitedValue");
|
||||
editWarningStorage.UnlimitedText = GetLocalizedString("WarningUnlimitedValue");
|
||||
|
||||
bool newItem = (this.SiteCollectionId == 0);
|
||||
|
||||
tblEditItem.Visible = newItem;
|
||||
tblViewItem.Visible = !newItem;
|
||||
|
||||
//btnUpdate.Visible = newItem;
|
||||
btnDelete.Visible = !newItem;
|
||||
btnUpdate.Text = newItem ? GetLocalizedString("Text.Add") : GetLocalizedString("Text.Update");
|
||||
btnUpdate.OnClientClick = newItem ? GetLocalizedString("btnCreate.OnClientClick") : GetLocalizedString("btnUpdate.OnClientClick");
|
||||
|
||||
btnBackup.Enabled = btnRestore.Enabled = !newItem;
|
||||
|
||||
// bind item
|
||||
BindItem();
|
||||
|
||||
}
|
||||
|
||||
private void BindItem()
|
||||
{
|
||||
try
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
if (!this.IsDnsServiceAvailable())
|
||||
{
|
||||
localMessageBox.ShowWarningMessage("HOSTEDSHAREPOINT_NO_DNS");
|
||||
}
|
||||
|
||||
// load item if required
|
||||
if (this.SiteCollectionId > 0)
|
||||
{
|
||||
// existing item
|
||||
item = ES.Services.HostedSharePointServersEnt.Enterprise_GetSiteCollection(this.SiteCollectionId);
|
||||
if (item != null)
|
||||
{
|
||||
// save package info
|
||||
ViewState["PackageId"] = item.PackageId;
|
||||
}
|
||||
else
|
||||
RedirectToBrowsePage();
|
||||
}
|
||||
else
|
||||
{
|
||||
// new item
|
||||
ViewState["PackageId"] = PanelSecurity.PackageId;
|
||||
if (UseSharedSLL(PanelSecurity.PackageId))
|
||||
{
|
||||
|
||||
rowUrl.Visible = false;
|
||||
valRequireHostName.Enabled = false;
|
||||
valRequireCorrectHostName.Enabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
//this.gvUsers.DataBind();
|
||||
|
||||
List<CultureInfo> cultures = new List<CultureInfo>();
|
||||
foreach (int localeId in ES.Services.HostedSharePointServersEnt.Enterprise_GetSupportedLanguages(PanelSecurity.PackageId))
|
||||
{
|
||||
cultures.Add(new CultureInfo(localeId, false));
|
||||
}
|
||||
|
||||
this.ddlLocaleID.DataSource = cultures;
|
||||
this.ddlLocaleID.DataBind();
|
||||
}
|
||||
|
||||
if (!IsPostBack)
|
||||
{
|
||||
// bind item to controls
|
||||
if (item != null)
|
||||
{
|
||||
// bind item to controls
|
||||
lnkUrl.Text = item.PhysicalAddress;
|
||||
lnkUrl.NavigateUrl = item.PhysicalAddress;
|
||||
litSiteCollectionOwner.Text = String.Format("{0} ({1})", item.OwnerName, item.OwnerEmail);
|
||||
litLocaleID.Text = new CultureInfo(item.LocaleId, false).DisplayName;
|
||||
litTitle.Text = item.Title;
|
||||
litDescription.Text = item.Description;
|
||||
editWarningStorage.QuotaValue = (int)item.WarningStorage;
|
||||
editMaxStorage.QuotaValue = (int)item.MaxSiteStorage;
|
||||
}
|
||||
|
||||
Organization org = ES.Services.Organizations.GetOrganization(OrganizationId);
|
||||
|
||||
if (org != null)
|
||||
{
|
||||
SetStorageQuotas(org, item);
|
||||
}
|
||||
}
|
||||
//OrganizationDomainName[] domains = ES.Services.Organizations.GetOrganizationDomains(PanelRequest.ItemID);
|
||||
|
||||
//DomainInfo[] domains = ES.Services.Servers.GetMyDomains(PanelSecurity.PackageId);
|
||||
|
||||
EnterpriseServer.DomainInfo[] domains = ES.Services.Servers.GetDomains(PanelSecurity.PackageId);
|
||||
|
||||
if (domains.Length == 0)
|
||||
{
|
||||
localMessageBox.ShowWarningMessage("HOSTEDSHAREPOINT_NO_DOMAINS");
|
||||
DisableFormControls(this, btnCancel);
|
||||
return;
|
||||
}
|
||||
//if (this.gvUsers.Rows.Count == 0)
|
||||
//{
|
||||
// localMessageBox.ShowWarningMessage("HOSTEDSHAREPOINT_NO_USERS");
|
||||
// DisableFormControls(this, btnCancel);
|
||||
// return;
|
||||
//}
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
||||
localMessageBox.ShowWarningMessage("INIT_SERVICE_ITEM_FORM");
|
||||
|
||||
DisableFormControls(this, btnCancel);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary> Checks and sets disk quotas values.</summary>
|
||||
/// <param name="organization"> The organization.</param>
|
||||
/// <param name="collection"> The site collection.</param>
|
||||
private void SetStorageQuotas(Organization organization, SharePointEnterpriseSiteCollection collection)
|
||||
{
|
||||
var quotaValue = organization.MaxSharePointEnterpriseStorage;
|
||||
|
||||
if (quotaValue != -1)
|
||||
{
|
||||
var spaceResrved = GetReservedDiskStorageSpace();
|
||||
|
||||
if (spaceResrved > quotaValue)
|
||||
{
|
||||
quotaValue = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
quotaValue -= spaceResrved;
|
||||
}
|
||||
|
||||
if (collection != null)
|
||||
{
|
||||
quotaValue += (int)collection.MaxSiteStorage;
|
||||
}
|
||||
}
|
||||
|
||||
maxStorage.ParentQuotaValue = quotaValue;
|
||||
maxStorage.QuotaValue = quotaValue;
|
||||
editMaxStorage.ParentQuotaValue = quotaValue;
|
||||
warningStorage.ParentQuotaValue = quotaValue;
|
||||
warningStorage.QuotaValue = quotaValue;
|
||||
editWarningStorage.ParentQuotaValue = quotaValue;
|
||||
|
||||
btnUpdate.Enabled = quotaValue != 0;
|
||||
}
|
||||
|
||||
/// <summary> Gets disk space reserved by existing site collections.</summary>
|
||||
/// <returns> Reserved disk space vallue.</returns>
|
||||
private int GetReservedDiskStorageSpace()
|
||||
{
|
||||
var existingCollections = ES.Services.HostedSharePointServersEnt.Enterprise_GetSiteCollections(PanelSecurity.PackageId, false);
|
||||
|
||||
return (int)existingCollections.Sum(siteCollection => siteCollection.MaxSiteStorage);
|
||||
}
|
||||
|
||||
private void SaveItem()
|
||||
{
|
||||
if (!Page.IsValid)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (this.SiteCollectionId == 0)
|
||||
{
|
||||
if (this.userSelector.GetAccount() == null)
|
||||
{
|
||||
localMessageBox.ShowWarningMessage("HOSTEDSHAREPOINT_NO_USERS");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
// new item
|
||||
try
|
||||
{
|
||||
item = new SharePointEnterpriseSiteCollection();
|
||||
|
||||
if (!UseSharedSLL(PanelSecurity.PackageId))
|
||||
{
|
||||
SharePointEnterpriseSiteCollectionListPaged existentSiteCollections = ES.Services.HostedSharePointServersEnt.Enterprise_GetSiteCollectionsPaged(PanelSecurity.PackageId, this.OrganizationId, "ItemName", String.Format("%{0}", this.domain.DomainName), String.Empty, 0, Int32.MaxValue);
|
||||
foreach (SharePointEnterpriseSiteCollection existentSiteCollection in existentSiteCollections.SiteCollections)
|
||||
{
|
||||
Uri existentSiteCollectionUri = new Uri(existentSiteCollection.Name);
|
||||
if (existentSiteCollection.Name == String.Format("{0}://{1}", existentSiteCollectionUri.Scheme, this.txtHostName.Text.ToLower() + "." + this.domain.DomainName))
|
||||
{
|
||||
localMessageBox.ShowWarningMessage("HOSTEDSHAREPOINT_DOMAIN_IN_USE");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
item.Name = this.txtHostName.Text.ToLower() + "." + this.domain.DomainName;
|
||||
}
|
||||
else
|
||||
item.Name = string.Empty;
|
||||
|
||||
// get form data
|
||||
|
||||
item.OrganizationId = this.OrganizationId;
|
||||
item.Id = this.SiteCollectionId;
|
||||
item.PackageId = PanelSecurity.PackageId;
|
||||
|
||||
item.LocaleId = Int32.Parse(this.ddlLocaleID.SelectedValue);
|
||||
item.OwnerLogin = this.userSelector.GetSAMAccountName();
|
||||
item.OwnerEmail = this.userSelector.GetPrimaryEmailAddress();
|
||||
item.OwnerName = this.userSelector.GetDisplayName();
|
||||
item.Title = txtTitle.Text;
|
||||
item.Description = txtDescription.Text;
|
||||
|
||||
|
||||
item.MaxSiteStorage = maxStorage.QuotaValue;
|
||||
item.WarningStorage = warningStorage.QuotaValue;
|
||||
|
||||
int result = ES.Services.HostedSharePointServersEnt.Enterprise_AddSiteCollection(item);
|
||||
if (result < 0)
|
||||
{
|
||||
localMessageBox.ShowResultMessage(result);
|
||||
return;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
localMessageBox.ShowErrorMessage("HOSTEDSHAREPOINT_ADD_SITECOLLECTION", ex);
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ES.Services.HostedSharePointServersEnt.Enterprise_UpdateQuota(PanelRequest.ItemID, SiteCollectionId, editMaxStorage.QuotaValue, editWarningStorage.QuotaValue);
|
||||
}
|
||||
|
||||
// return
|
||||
RedirectToSiteCollectionsList();
|
||||
}
|
||||
|
||||
private void AddDnsRecord(int domainId, string recordName, string recordData)
|
||||
{
|
||||
int result = ES.Services.Servers.AddDnsZoneRecord(domainId, recordName, DnsRecordType.A, recordData, 0, 0, 0, 0);
|
||||
if (result < 0)
|
||||
{
|
||||
ShowResultMessage(result);
|
||||
}
|
||||
}
|
||||
|
||||
private bool IsDnsServiceAvailable()
|
||||
{
|
||||
ProviderInfo dnsProvider = ES.Services.Servers.GetPackageServiceProvider(PanelSecurity.PackageId, ResourceGroups.Dns);
|
||||
return dnsProvider != null;
|
||||
}
|
||||
|
||||
private void DeleteItem()
|
||||
{
|
||||
// delete
|
||||
try
|
||||
{
|
||||
int result = ES.Services.HostedSharePointServersEnt.Enterprise_DeleteSiteCollection(this.SiteCollectionId);
|
||||
if (result < 0)
|
||||
{
|
||||
ShowResultMessage(result);
|
||||
return;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
localMessageBox.ShowErrorMessage("HOSTEDSHAREPOINT_DELETE_SITECOLLECTION", ex);
|
||||
return;
|
||||
}
|
||||
|
||||
// return
|
||||
RedirectToSiteCollectionsList();
|
||||
}
|
||||
|
||||
protected void odsAccountsPaged_Selected(object sender, ObjectDataSourceStatusEventArgs e)
|
||||
{
|
||||
if (e.Exception != null)
|
||||
{
|
||||
localMessageBox.ShowErrorMessage("ORGANIZATION_GET_USERS", e.Exception);
|
||||
e.ExceptionHandled = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected void btnCancel_Click(object sender, EventArgs e)
|
||||
{
|
||||
// return
|
||||
RedirectToSiteCollectionsList();
|
||||
}
|
||||
|
||||
protected void btnDelete_Click(object sender, EventArgs e)
|
||||
{
|
||||
DeleteItem();
|
||||
}
|
||||
|
||||
protected void btnUpdate_Click(object sender, EventArgs e)
|
||||
{
|
||||
SaveItem();
|
||||
}
|
||||
|
||||
protected void btnBackup_Click(object sender, EventArgs e)
|
||||
{
|
||||
Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "sharepoint_enterprise_backup_sitecollection", "SiteCollectionID=" + this.SiteCollectionId, "ItemID=" + PanelRequest.ItemID.ToString()));
|
||||
}
|
||||
|
||||
protected void btnRestore_Click(object sender, EventArgs e)
|
||||
{
|
||||
Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "sharepoint_enterprise_restore_sitecollection", "SiteCollectionID=" + this.SiteCollectionId, "ItemID=" + PanelRequest.ItemID.ToString()));
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void RedirectToSiteCollectionsList()
|
||||
{
|
||||
Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "sharepoint_enterprise_sitecollections", "ItemID=" + PanelRequest.ItemID.ToString()));
|
||||
}
|
||||
|
||||
private bool UseSharedSLL(int packageID)
|
||||
{
|
||||
PackageContext cntx = ES.Services.Packages.GetPackageContext(PanelSecurity.PackageId);
|
||||
if (cntx != null)
|
||||
{
|
||||
foreach (QuotaValueInfo quota in cntx.QuotasArray)
|
||||
{
|
||||
switch (quota.QuotaId)
|
||||
{
|
||||
case 552:
|
||||
if (Convert.ToBoolean(quota.QuotaAllocatedValue))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
//private void RegisterOwnerSelector()
|
||||
//{
|
||||
// // Define the name and type of the client scripts on the page.
|
||||
// String csname = "OwnerSelectorScript";
|
||||
// Type cstype = this.GetType();
|
||||
|
||||
// // Get a ClientScriptManager reference from the Page class.
|
||||
// ClientScriptManager cs = Page.ClientScript;
|
||||
|
||||
// // Check to see if the client script is already registered.
|
||||
// if (!cs.IsClientScriptBlockRegistered(cstype, csname))
|
||||
// {
|
||||
// StringBuilder ownerSelector = new StringBuilder();
|
||||
// ownerSelector.Append("<script type=text/javascript> function DoSelectOwner(ownerId, ownerDisplayName, email) {");
|
||||
// ownerSelector.AppendFormat("{0}.{1}.value=ownerId;", this.Page.Form.ID, this.hdnSiteCollectionOwner.ClientID);
|
||||
// ownerSelector.AppendFormat("{0}.{1}.value=ownerDisplayName;", this.Page.Form.ID, this.txtSiteCollectionOwner.ClientID);
|
||||
// ownerSelector.AppendFormat("{0}.{1}.value=email;", this.Page.Form.ID, this.hdnSiteCollectionOwnerEmail.ClientID);
|
||||
// ownerSelector.Append("} </script>");
|
||||
// cs.RegisterClientScriptBlock(cstype, csname, ownerSelector.ToString(), false);
|
||||
// }
|
||||
|
||||
//}
|
||||
|
||||
//private StringDictionary ConvertArrayToDictionary(string[] settings)
|
||||
//{
|
||||
// StringDictionary r = new StringDictionary();
|
||||
// foreach (string setting in settings)
|
||||
// {
|
||||
// int idx = setting.IndexOf('=');
|
||||
// r.Add(setting.Substring(0, idx), setting.Substring(idx + 1));
|
||||
// }
|
||||
// return r;
|
||||
//}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,447 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal {
|
||||
|
||||
|
||||
public partial class HostedSharePointEnterpriseEditSiteCollection {
|
||||
|
||||
/// <summary>
|
||||
/// asyncTasks control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks;
|
||||
|
||||
/// <summary>
|
||||
/// Image1 control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Image Image1;
|
||||
|
||||
/// <summary>
|
||||
/// locTitle control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locTitle;
|
||||
|
||||
/// <summary>
|
||||
/// localMessageBox control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox localMessageBox;
|
||||
|
||||
/// <summary>
|
||||
/// tblEditItem control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlTable tblEditItem;
|
||||
|
||||
/// <summary>
|
||||
/// rowUrl control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlTableRow rowUrl;
|
||||
|
||||
/// <summary>
|
||||
/// lblSiteCollectionUrl control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblSiteCollectionUrl;
|
||||
|
||||
/// <summary>
|
||||
/// txtHostName control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtHostName;
|
||||
|
||||
/// <summary>
|
||||
/// domain control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.DomainsSelectDomainControl domain;
|
||||
|
||||
/// <summary>
|
||||
/// valRequireHostName control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireHostName;
|
||||
|
||||
/// <summary>
|
||||
/// valRequireCorrectHostName control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RegularExpressionValidator valRequireCorrectHostName;
|
||||
|
||||
/// <summary>
|
||||
/// lblSiteCollectionOwner control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblSiteCollectionOwner;
|
||||
|
||||
/// <summary>
|
||||
/// userSelector control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.ExchangeServer.UserControls.UserSelector userSelector;
|
||||
|
||||
/// <summary>
|
||||
/// lblSiteCollectionLocaleID control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblSiteCollectionLocaleID;
|
||||
|
||||
/// <summary>
|
||||
/// ddlLocaleID control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.DropDownList ddlLocaleID;
|
||||
|
||||
/// <summary>
|
||||
/// lblMaxStorage control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblMaxStorage;
|
||||
|
||||
/// <summary>
|
||||
/// maxStorage control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.QuotaEditor maxStorage;
|
||||
|
||||
/// <summary>
|
||||
/// lblWarningStorage control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblWarningStorage;
|
||||
|
||||
/// <summary>
|
||||
/// warningStorage control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.QuotaEditor warningStorage;
|
||||
|
||||
/// <summary>
|
||||
/// lblTitle control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblTitle;
|
||||
|
||||
/// <summary>
|
||||
/// txtTitle control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtTitle;
|
||||
|
||||
/// <summary>
|
||||
/// valRequireTitle control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireTitle;
|
||||
|
||||
/// <summary>
|
||||
/// lblDescription control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblDescription;
|
||||
|
||||
/// <summary>
|
||||
/// txtDescription control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtDescription;
|
||||
|
||||
/// <summary>
|
||||
/// RequiredFieldValidator1 control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
|
||||
|
||||
/// <summary>
|
||||
/// tblViewItem control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlTable tblViewItem;
|
||||
|
||||
/// <summary>
|
||||
/// lblSiteCollectionUrl2 control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblSiteCollectionUrl2;
|
||||
|
||||
/// <summary>
|
||||
/// lnkUrl control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.HyperLink lnkUrl;
|
||||
|
||||
/// <summary>
|
||||
/// lblSiteCollectionOwner2 control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblSiteCollectionOwner2;
|
||||
|
||||
/// <summary>
|
||||
/// litSiteCollectionOwner control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litSiteCollectionOwner;
|
||||
|
||||
/// <summary>
|
||||
/// lblSiteCollectionLocaleID2 control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblSiteCollectionLocaleID2;
|
||||
|
||||
/// <summary>
|
||||
/// litLocaleID control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litLocaleID;
|
||||
|
||||
/// <summary>
|
||||
/// lblMaxStorageView control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblMaxStorageView;
|
||||
|
||||
/// <summary>
|
||||
/// editMaxStorage control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.QuotaEditor editMaxStorage;
|
||||
|
||||
/// <summary>
|
||||
/// lblWarningStorageView control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblWarningStorageView;
|
||||
|
||||
/// <summary>
|
||||
/// editWarningStorage control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.QuotaEditor editWarningStorage;
|
||||
|
||||
/// <summary>
|
||||
/// lblTitle2 control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblTitle2;
|
||||
|
||||
/// <summary>
|
||||
/// litTitle control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litTitle;
|
||||
|
||||
/// <summary>
|
||||
/// lblDescription2 control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblDescription2;
|
||||
|
||||
/// <summary>
|
||||
/// litDescription control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litDescription;
|
||||
|
||||
/// <summary>
|
||||
/// secMainTools control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.CollapsiblePanel secMainTools;
|
||||
|
||||
/// <summary>
|
||||
/// ToolsPanel control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Panel ToolsPanel;
|
||||
|
||||
/// <summary>
|
||||
/// tblMaintenance control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlTable tblMaintenance;
|
||||
|
||||
/// <summary>
|
||||
/// btnBackup control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnBackup;
|
||||
|
||||
/// <summary>
|
||||
/// btnRestore control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnRestore;
|
||||
|
||||
/// <summary>
|
||||
/// btnUpdate control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnUpdate;
|
||||
|
||||
/// <summary>
|
||||
/// btnCancel control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnCancel;
|
||||
|
||||
/// <summary>
|
||||
/// btnDelete control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnDelete;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,101 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" Codebehind="HostedSharePointEnterpriseRestoreSiteCollection.ascx.cs"
|
||||
Inherits="WebsitePanel.Portal.HostedSharePointEnterpriseRestoreSiteCollection" %>
|
||||
<%@ Register Src="../UserControls/FileLookup.ascx" TagName="FileLookup" TagPrefix="uc1" %>
|
||||
<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox"
|
||||
TagPrefix="wsp" %>
|
||||
6
|
||||
<%@ Register Src="../ExchangeServer/UserControls/Menu.ascx" TagName="Menu" TagPrefix="wsp" %>
|
||||
|
||||
|
||||
<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport"
|
||||
TagPrefix="wsp" %>
|
||||
|
||||
<wsp:EnableAsyncTasksSupport id="asyncTasks" runat="server" />
|
||||
|
||||
|
||||
|
||||
<div id="ExchangeContainer">
|
||||
<div class="Module">
|
||||
<div class="Left">
|
||||
</div>
|
||||
<div class="Content">
|
||||
<div class="Center">
|
||||
<div class="Title">
|
||||
<asp:Image ID="Image1" SkinID="SharePointSiteCollection48" runat="server" />
|
||||
<asp:Localize ID="locTitle" runat="server" meta:resourcekey="locTitle" Text="SharePoint Site Collections"></asp:Localize>
|
||||
</div>
|
||||
<div class="FormBody">
|
||||
<wsp:SimpleMessageBox id="messageBox" runat="server" />
|
||||
<table cellspacing="0" cellpadding="5" width="100%">
|
||||
<tr>
|
||||
<td class="Huge" colspan="2">
|
||||
<asp:Literal ID="litSiteCollectionName" runat="server"></asp:Literal></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead" valign="top" nowrap width="200">
|
||||
<asp:Label ID="lblRestoreFrom" runat="server" meta:resourcekey="lblRestoreFrom" Text="Restore From:"></asp:Label></td>
|
||||
<td class="normal" width="100%">
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td class="Normal">
|
||||
<asp:RadioButton ID="radioUpload" meta:resourcekey="radioUpload" Checked="True" GroupName="media"
|
||||
Text="Uploaded File" runat="server" AutoPostBack="True" OnCheckedChanged="radioUpload_CheckedChanged">
|
||||
</asp:RadioButton></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="Normal">
|
||||
<asp:RadioButton ID="radioFile" meta:resourcekey="radioFile" GroupName="media" Text="Hosting Space File"
|
||||
runat="server" AutoPostBack="True" OnCheckedChanged="radioUpload_CheckedChanged">
|
||||
</asp:RadioButton></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="Normal" id="cellUploadFile" runat="server">
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td>
|
||||
<asp:FileUpload ID="uploadFile" runat="server" Width="300px" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="Small" nowrap>
|
||||
<asp:Label ID="lblAllowedFiles1" runat="server" meta:resourcekey="lblAllowedFiles"
|
||||
Text=".ZIP, .BAK files are allowed"></asp:Label></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="Normal" id="cellFile" runat="server">
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td>
|
||||
<uc1:FileLookup ID="fileLookup" runat="server" Width="300" IncludeFiles="true" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="Small" nowrap>
|
||||
<asp:Label ID="lblAllowedFiles2" runat="server" meta:resourcekey="lblAllowedFiles"
|
||||
Text=".ZIP, .BAK files are allowed"></asp:Label></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="FormFooterClean">
|
||||
<asp:Button ID="btnRestore" runat="server" meta:resourcekey="btnRestore" CssClass="Button1"
|
||||
Text="Restore" OnClick="btnRestore_Click" OnClientClick="ShowProgressDialog('Restoring site collection...');"/>
|
||||
<asp:Button ID="btnCancel" runat="server" meta:resourcekey="btnCancel" CssClass="Button1"
|
||||
CausesValidation="false" Text="Cancel" OnClick="btnCancel_Click" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,176 @@
|
|||
// Copyright (c) 2015, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using WebsitePanel.Providers.SharePoint;
|
||||
|
||||
namespace WebsitePanel.Portal
|
||||
{
|
||||
public partial class HostedSharePointEnterpriseRestoreSiteCollection : WebsitePanelModuleBase
|
||||
{
|
||||
private int OrganizationId
|
||||
{
|
||||
get
|
||||
{
|
||||
return PanelRequest.GetInt("ItemID");
|
||||
}
|
||||
}
|
||||
|
||||
private int SiteCollectionId
|
||||
{
|
||||
get
|
||||
{
|
||||
return PanelRequest.GetInt("SiteCollectionID");
|
||||
}
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
BindSite();
|
||||
}
|
||||
}
|
||||
|
||||
private void BindSite()
|
||||
{
|
||||
try
|
||||
{
|
||||
SharePointEnterpriseSiteCollection siteCollection = ES.Services.HostedSharePointServersEnt.Enterprise_GetSiteCollection(this.SiteCollectionId);
|
||||
litSiteCollectionName.Text = siteCollection.PhysicalAddress;
|
||||
fileLookup.SelectedFile = String.Empty;
|
||||
fileLookup.PackageId = siteCollection.PackageId;
|
||||
|
||||
ToggleControls();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ShowErrorMessage("SHAREPOINT_GET_SITE", ex);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
private void ToggleControls()
|
||||
{
|
||||
cellFile.Visible = radioFile.Checked;
|
||||
cellUploadFile.Visible = radioUpload.Checked;
|
||||
}
|
||||
|
||||
private void RestoreSiteCollection()
|
||||
{
|
||||
try
|
||||
{
|
||||
string uploadedFile = null;
|
||||
string packageFile = null;
|
||||
|
||||
if (radioUpload.Checked)
|
||||
{
|
||||
if (uploadFile.PostedFile.FileName != "")
|
||||
{
|
||||
Stream stream = uploadFile.PostedFile.InputStream;
|
||||
|
||||
// save uploaded file
|
||||
int FILE_BUFFER_LENGTH = 5000000;
|
||||
string path = null;
|
||||
int readBytes = 0;
|
||||
string fileName = Path.GetFileName(uploadFile.PostedFile.FileName);
|
||||
|
||||
int offset = 0;
|
||||
do
|
||||
{
|
||||
// read input stream
|
||||
byte[] buffer = new byte[FILE_BUFFER_LENGTH];
|
||||
readBytes = stream.Read(buffer, 0, FILE_BUFFER_LENGTH);
|
||||
|
||||
if (readBytes < FILE_BUFFER_LENGTH)
|
||||
Array.Resize<byte>(ref buffer, readBytes);
|
||||
|
||||
// write remote backup file
|
||||
string tempPath = ES.Services.HostedSharePointServersEnt.Enterprise_AppendBackupBinaryChunk(this.SiteCollectionId, fileName, path, buffer);
|
||||
if (path == null)
|
||||
path = tempPath;
|
||||
|
||||
offset += FILE_BUFFER_LENGTH;
|
||||
}
|
||||
while (readBytes == FILE_BUFFER_LENGTH);
|
||||
|
||||
uploadedFile = path;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// package files
|
||||
packageFile = fileLookup.SelectedFile;
|
||||
}
|
||||
|
||||
int result = ES.Services.HostedSharePointServersEnt.Enterprise_RestoreSiteCollection(this.SiteCollectionId, uploadedFile, packageFile);
|
||||
if (result < 0)
|
||||
{
|
||||
ShowResultMessage(result);
|
||||
return;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ShowErrorMessage("SHAREPOINT_RESTORE_SITE", ex);
|
||||
return;
|
||||
}
|
||||
|
||||
RedirectBack();
|
||||
}
|
||||
|
||||
protected void btnRestore_Click(object sender, EventArgs e)
|
||||
{
|
||||
RestoreSiteCollection();
|
||||
}
|
||||
|
||||
protected void btnCancel_Click(object sender, EventArgs e)
|
||||
{
|
||||
RedirectBack();
|
||||
}
|
||||
|
||||
private void RedirectBack()
|
||||
{
|
||||
Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "sharepoint_enterprise_edit_sitecollection", "SiteCollectionID=" + this.SiteCollectionId, "ItemID=" + PanelRequest.ItemID.ToString()));
|
||||
}
|
||||
protected void radioUpload_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
ToggleControls();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,159 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal {
|
||||
|
||||
|
||||
public partial class HostedSharePointEnterpriseRestoreSiteCollection {
|
||||
|
||||
/// <summary>
|
||||
/// asyncTasks control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks;
|
||||
|
||||
/// <summary>
|
||||
/// Image1 control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Image Image1;
|
||||
|
||||
/// <summary>
|
||||
/// locTitle control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locTitle;
|
||||
|
||||
/// <summary>
|
||||
/// messageBox control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox;
|
||||
|
||||
/// <summary>
|
||||
/// litSiteCollectionName control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litSiteCollectionName;
|
||||
|
||||
/// <summary>
|
||||
/// lblRestoreFrom control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblRestoreFrom;
|
||||
|
||||
/// <summary>
|
||||
/// radioUpload control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RadioButton radioUpload;
|
||||
|
||||
/// <summary>
|
||||
/// radioFile control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RadioButton radioFile;
|
||||
|
||||
/// <summary>
|
||||
/// cellUploadFile control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlTableCell cellUploadFile;
|
||||
|
||||
/// <summary>
|
||||
/// uploadFile control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.FileUpload uploadFile;
|
||||
|
||||
/// <summary>
|
||||
/// lblAllowedFiles1 control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblAllowedFiles1;
|
||||
|
||||
/// <summary>
|
||||
/// cellFile control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlTableCell cellFile;
|
||||
|
||||
/// <summary>
|
||||
/// fileLookup control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.FileLookup fileLookup;
|
||||
|
||||
/// <summary>
|
||||
/// lblAllowedFiles2 control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblAllowedFiles2;
|
||||
|
||||
/// <summary>
|
||||
/// btnRestore control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnRestore;
|
||||
|
||||
/// <summary>
|
||||
/// btnCancel control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnCancel;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,92 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" Codebehind="HostedSharePointEnterpriseSiteCollections.ascx.cs"
|
||||
Inherits="WebsitePanel.Portal.HostedSharePointEnterpriseSiteCollections" %>
|
||||
<%@ Register Src="../UserControls/SpaceServiceItems.ascx" TagName="SpaceServiceItems"
|
||||
TagPrefix="wsp" %>
|
||||
<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox"
|
||||
TagPrefix="wsp" %>
|
||||
<%@ Register Src="../UserControls/QuotaViewer.ascx" TagName="QuotaViewer" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../UserControls/Quota.ascx" TagName="Quota" TagPrefix="wsp" %>
|
||||
|
||||
<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport"
|
||||
TagPrefix="wsp" %>
|
||||
|
||||
<wsp:EnableAsyncTasksSupport id="asyncTasks" runat="server" />
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
function confirmation()
|
||||
{
|
||||
if (!confirm("Are you sure you want to delete Site Collection?")) return false; else ShowProgressDialog('Deleting SharePoint site collection...');
|
||||
}
|
||||
</script>
|
||||
|
||||
<div id="ExchangeContainer">
|
||||
<div class="Module">
|
||||
<div class="Left">
|
||||
</div>
|
||||
<div class="Content">
|
||||
<div class="Center">
|
||||
<div class="Title">
|
||||
<asp:Image ID="Image1" SkinID="SharePointSiteCollection48" runat="server" />
|
||||
<asp:Localize ID="locTitle" runat="server" meta:resourcekey="locTitle" Text="SharePoint Site Collections"></asp:Localize>
|
||||
</div>
|
||||
<div class="FormBody">
|
||||
<wsp:SimpleMessageBox id="messageBox" runat="server" />
|
||||
<div class="FormButtonsBarClean">
|
||||
<div class="FormButtonsBarCleanLeft">
|
||||
<asp:Button ID="btnCreateSiteCollection" runat="server" meta:resourcekey="btnCreateSiteCollection"
|
||||
Text="Create New Site Collection" CssClass="Button1" OnClick="btnCreateSiteCollection_Click" />
|
||||
</div>
|
||||
<div class="FormButtonsBarCleanRight">
|
||||
<asp:Panel ID="SearchPanel" runat="server" DefaultButton="cmdSearch">
|
||||
<asp:Localize ID="locSearch" runat="server" meta:resourcekey="locSearch" Visible="false"></asp:Localize>
|
||||
<asp:DropDownList ID="ddlSearchColumn" runat="server" CssClass="NormalTextBox">
|
||||
<asp:ListItem Value="ItemName" meta:resourcekey="ddlSearchColumnUrl">Url</asp:ListItem>
|
||||
</asp:DropDownList><asp:TextBox ID="txtSearchValue" runat="server" CssClass="NormalTextBox"
|
||||
Width="100"></asp:TextBox><asp:ImageButton ID="cmdSearch" runat="server" meta:resourcekey="cmdSearch"
|
||||
SkinID="SearchButton" CausesValidation="false" />
|
||||
</asp:Panel>
|
||||
</div>
|
||||
</div>
|
||||
<asp:GridView ID="gvSiteCollections" runat="server" AutoGenerateColumns="False" EnableViewState="true"
|
||||
Width="100%" EmptyDataText="gvSiteCollection" CssSelectorClass="NormalGridView" OnRowCommand="gvSiteCollections_RowCommand"
|
||||
AllowPaging="True" AllowSorting="True" DataSourceID="odsSiteCollectionsPaged">
|
||||
<Columns>
|
||||
<asp:TemplateField meta:resourcekey="gvSiteCollectionUrl" SortExpression="ItemName">
|
||||
<ItemStyle Width="50%"></ItemStyle>
|
||||
<ItemTemplate>
|
||||
<asp:HyperLink ID="lnk1" runat="server" NavigateUrl='<%# GetSiteCollectionEditUrl(Eval("Id").ToString()) %>'>
|
||||
<%# Eval("PhysicalAddress") %>
|
||||
</asp:HyperLink>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField meta:resourcekey="gvOwnerDisplayName" DataField="OwnerName" ItemStyle-Width="50%" />
|
||||
<asp:TemplateField>
|
||||
<ItemTemplate>
|
||||
<asp:ImageButton ID="cmdDelete" runat="server" Text="Delete" SkinID="ExchangeDelete"
|
||||
CommandName="DeleteItem" CommandArgument='<%# Eval("Id") %>'
|
||||
OnClientClick="confirmation()"></asp:ImageButton>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
<asp:ObjectDataSource ID="odsSiteCollectionsPaged" runat="server" EnablePaging="True" SelectCountMethod="GetSharePointEnterpriseSiteCollectionPagedCount"
|
||||
SelectMethod="GetSharePointEnterpriseSiteCollectionPaged" SortParameterName="sortColumn" TypeName="WebsitePanel.Portal.HostedSharePointEnterpriseSiteCollectionsHelper"
|
||||
OnSelected="odsSharePointEnterpriseSiteCollectionPaged_Selected">
|
||||
<SelectParameters>
|
||||
<asp:QueryStringParameter Name="packageId" QueryStringField="SpaceID" DefaultValue="-1" />
|
||||
<asp:QueryStringParameter Name="organizationId" QueryStringField="ItemID" DefaultValue="0" />
|
||||
<asp:ControlParameter Name="filterColumn" ControlID="ddlSearchColumn" PropertyName="SelectedValue" />
|
||||
<asp:ControlParameter Name="filterValue" ControlID="txtSearchValue" PropertyName="Text" />
|
||||
</SelectParameters>
|
||||
</asp:ObjectDataSource>
|
||||
<br />
|
||||
<asp:Localize ID="locQuota" runat="server" meta:resourcekey="locQuota" Text="Total Site Collections Created:"></asp:Localize>
|
||||
|
||||
<%--<wsp:Quota ID="siteCollectionsQuota1" runat="server" QuotaName="HostedSharePoint.Sites" />--%>
|
||||
<wsp:QuotaViewer ID="siteCollectionsQuota" runat="server" QuotaTypeId="2" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,110 @@
|
|||
// Copyright (c) 2015, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.Collections.Generic;
|
||||
using WebsitePanel.Providers.SharePoint;
|
||||
using WebsitePanel.Providers.HostedSolution;
|
||||
|
||||
namespace WebsitePanel.Portal
|
||||
{
|
||||
public partial class HostedSharePointEnterpriseSiteCollections : WebsitePanelModuleBase
|
||||
{
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.BindStats();
|
||||
}
|
||||
|
||||
private void BindStats()
|
||||
{
|
||||
// quota values
|
||||
OrganizationStatistics stats = ES.Services.Organizations.GetOrganizationStatisticsByOrganization(PanelRequest.ItemID);
|
||||
OrganizationStatistics tenantStats = ES.Services.Organizations.GetOrganizationStatistics(PanelRequest.ItemID);
|
||||
|
||||
siteCollectionsQuota.QuotaUsedValue = stats.CreatedSharePointEnterpriseSiteCollections;
|
||||
siteCollectionsQuota.QuotaValue = stats.AllocatedSharePointEnterpriseSiteCollections;
|
||||
if (stats.AllocatedSharePointEnterpriseSiteCollections != -1) siteCollectionsQuota.QuotaAvailable = tenantStats.AllocatedSharePointEnterpriseSiteCollections - tenantStats.CreatedSharePointEnterpriseSiteCollections;
|
||||
}
|
||||
|
||||
protected void btnCreateSiteCollection_Click(object sender, EventArgs e)
|
||||
{
|
||||
Response.Redirect(EditUrl("ItemID", PanelRequest.ItemID.ToString(), "sharepoint_enterprise_edit_sitecollection", "SpaceID=" + PanelSecurity.PackageId.ToString()));
|
||||
}
|
||||
|
||||
public string GetSiteCollectionEditUrl(string siteCollectionId)
|
||||
{
|
||||
return EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "sharepoint_enterprise_edit_sitecollection",
|
||||
"SiteCollectionID=" + siteCollectionId,
|
||||
"ItemID=" + PanelRequest.ItemID.ToString());
|
||||
}
|
||||
|
||||
protected void odsSharePointEnterpriseSiteCollectionPaged_Selected(object sender, ObjectDataSourceStatusEventArgs e)
|
||||
{
|
||||
if (e.Exception != null)
|
||||
{
|
||||
messageBox.ShowErrorMessage("HOSTEDSHAREPOINT_GET_SITECOLLECTIONS", e.Exception);
|
||||
e.ExceptionHandled = true;
|
||||
}
|
||||
}
|
||||
|
||||
protected void gvSiteCollections_RowCommand(object sender, GridViewCommandEventArgs e)
|
||||
{
|
||||
if (e.CommandName == "DeleteItem")
|
||||
{
|
||||
int siteCollectionId = Utils.ParseInt(e.CommandArgument.ToString(), 0);
|
||||
|
||||
try
|
||||
{
|
||||
int result = ES.Services.HostedSharePointServersEnt.Enterprise_DeleteSiteCollection(siteCollectionId);
|
||||
if (result < 0)
|
||||
{
|
||||
messageBox.ShowResultMessage(result);
|
||||
return;
|
||||
}
|
||||
|
||||
gvSiteCollections.DataBind();
|
||||
this.BindStats();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
messageBox.ShowErrorMessage("HOSTEDSHAREPOINT_DELETE_SITECOLLECTION", ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,141 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal {
|
||||
|
||||
|
||||
public partial class HostedSharePointEnterpriseSiteCollections {
|
||||
|
||||
/// <summary>
|
||||
/// asyncTasks control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks;
|
||||
|
||||
/// <summary>
|
||||
/// Image1 control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Image Image1;
|
||||
|
||||
/// <summary>
|
||||
/// locTitle control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locTitle;
|
||||
|
||||
/// <summary>
|
||||
/// messageBox control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox;
|
||||
|
||||
/// <summary>
|
||||
/// btnCreateSiteCollection control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnCreateSiteCollection;
|
||||
|
||||
/// <summary>
|
||||
/// SearchPanel control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Panel SearchPanel;
|
||||
|
||||
/// <summary>
|
||||
/// locSearch control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locSearch;
|
||||
|
||||
/// <summary>
|
||||
/// ddlSearchColumn control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.DropDownList ddlSearchColumn;
|
||||
|
||||
/// <summary>
|
||||
/// txtSearchValue control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtSearchValue;
|
||||
|
||||
/// <summary>
|
||||
/// cmdSearch control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.ImageButton cmdSearch;
|
||||
|
||||
/// <summary>
|
||||
/// gvSiteCollections control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.GridView gvSiteCollections;
|
||||
|
||||
/// <summary>
|
||||
/// odsSiteCollectionsPaged control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.ObjectDataSource odsSiteCollectionsPaged;
|
||||
|
||||
/// <summary>
|
||||
/// locQuota control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locQuota;
|
||||
|
||||
/// <summary>
|
||||
/// siteCollectionsQuota control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.QuotaViewer siteCollectionsQuota;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,62 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="HostedSharePointEnterpriseStorageSettings.ascx.cs" Inherits="WebsitePanel.Portal.HostedSharePointEnterpriseStorageSettings" %>
|
||||
<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport"
|
||||
TagPrefix="wsp" %>
|
||||
<%@ Register Src="../UserControls/CollapsiblePanel.ascx" TagName="CollapsiblePanel"
|
||||
TagPrefix="wsp" %>
|
||||
<%@ Register Src="../ExchangeServer/UserControls/SizeBox.ascx" TagName="SizeBox" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox"
|
||||
TagPrefix="wsp" %>
|
||||
<%@ Register Src="../ExchangeServer/UserControls/Menu.ascx" TagName="Menu" TagPrefix="wsp" %>
|
||||
<%@ Register src="../UserControls/QuotaEditor.ascx" tagname="QuotaEditor" tagprefix="uc1" %>
|
||||
|
||||
|
||||
|
||||
<div id="ExchangeContainer">
|
||||
<div class="Module">
|
||||
<div class="Left">
|
||||
</div>
|
||||
<div class="Content">
|
||||
<div class="Center">
|
||||
<div class="Title">
|
||||
<asp:Image ID="Image1" SkinID="ExchangeStorageConfig48" runat="server" />
|
||||
<asp:Localize ID="locTitle" runat="server" meta:resourcekey="locTitle" ></asp:Localize>
|
||||
</div>
|
||||
<div class="FormBody">
|
||||
<wsp:SimpleMessageBox id="messageBox" runat="server" />
|
||||
|
||||
<wsp:CollapsiblePanel id="secStorageLimits" runat="server"
|
||||
TargetControlID="StorageLimits" meta:resourcekey="secStorageLimits" >
|
||||
</wsp:CollapsiblePanel>
|
||||
<asp:Panel ID="StorageLimits" runat="server" Height="0" style="overflow:hidden;">
|
||||
<table>
|
||||
|
||||
<tr>
|
||||
<td class="FormLabel200" align="right"><asp:Localize ID="locMaxStorage" runat="server" meta:resourcekey="locMaxStorage" ></asp:Localize></td>
|
||||
<td>
|
||||
<uc1:QuotaEditor QuotaTypeId="2" ID="maxStorageSettingsValue" runat="server" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="FormLabel200" align="right"><asp:Localize ID="locWarningStorage" runat="server" meta:resourcekey="locWarningStorage" ></asp:Localize></td>
|
||||
<td>
|
||||
<uc1:QuotaEditor QuotaTypeId="2" ID="warningValue" runat="server" />
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
</asp:Panel>
|
||||
|
||||
<div class="FormFooterClean">
|
||||
<asp:Button id="btnSave" runat="server" Text="Save Changes" CssClass="Button1" meta:resourcekey="btnSave"
|
||||
ValidationGroup="EditStorageSettings" OnClick="btnSave_Click" ></asp:Button>
|
||||
<asp:Button id="btnSaveApply" runat="server" Text="Save and Apply to All SiteCollections" CssClass="Button1" meta:resourcekey="btnSaveApply"
|
||||
ValidationGroup="EditStorageSettings" OnClick="btnSaveApply_Click" ></asp:Button>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,93 @@
|
|||
// Copyright (c) 2015, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using WebsitePanel.EnterpriseServer;
|
||||
using WebsitePanel.Providers.HostedSolution;
|
||||
|
||||
namespace WebsitePanel.Portal
|
||||
{
|
||||
public partial class HostedSharePointEnterpriseStorageSettings : WebsitePanelModuleBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
warningValue.UnlimitedText = GetLocalizedString("WarningUnlimitedValue");
|
||||
|
||||
|
||||
if (!IsPostBack)
|
||||
{
|
||||
Organization org = ES.Services.Organizations.GetOrganization(PanelRequest.ItemID);
|
||||
|
||||
PackageContext cntx = ES.Services.Packages.GetPackageContext(PanelSecurity.PackageId);
|
||||
foreach(QuotaValueInfo quota in cntx.QuotasArray)
|
||||
{
|
||||
if (quota.QuotaId == 551 /*Max storage quota*/)
|
||||
{
|
||||
maxStorageSettingsValue.ParentQuotaValue = quota.QuotaAllocatedValue;
|
||||
warningValue.ParentQuotaValue = quota.QuotaAllocatedValue;
|
||||
}
|
||||
}
|
||||
|
||||
maxStorageSettingsValue.QuotaValue = org.MaxSharePointEnterpriseStorage;
|
||||
warningValue.QuotaValue = org.WarningSharePointEnterpriseStorage;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void Save(bool apply)
|
||||
{
|
||||
try
|
||||
{
|
||||
int res = ES.Services.HostedSharePointServersEnt.Enterprise_SetStorageSettings(PanelRequest.ItemID, maxStorageSettingsValue.QuotaValue,
|
||||
warningValue.QuotaValue,
|
||||
apply);
|
||||
if (res < 0)
|
||||
{
|
||||
messageBox.ShowResultMessage(res);
|
||||
return;
|
||||
}
|
||||
messageBox.ShowSuccessMessage("HOSTED_SHAREPOINT_UPDATE_QUOTAS");
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
messageBox.ShowErrorMessage("HOSTED_SHAREPOINT_UPDATE_QUOTAS");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
protected void btnSave_Click(object sender, EventArgs e)
|
||||
{
|
||||
Save(false);
|
||||
}
|
||||
|
||||
protected void btnSaveApply_Click(object sender, EventArgs e)
|
||||
{
|
||||
Save(true);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,114 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal {
|
||||
|
||||
|
||||
public partial class HostedSharePointEnterpriseStorageSettings {
|
||||
|
||||
/// <summary>
|
||||
/// Image1 control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Image Image1;
|
||||
|
||||
/// <summary>
|
||||
/// locTitle control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locTitle;
|
||||
|
||||
/// <summary>
|
||||
/// messageBox control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox;
|
||||
|
||||
/// <summary>
|
||||
/// secStorageLimits control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.CollapsiblePanel secStorageLimits;
|
||||
|
||||
/// <summary>
|
||||
/// StorageLimits control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Panel StorageLimits;
|
||||
|
||||
/// <summary>
|
||||
/// locMaxStorage control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locMaxStorage;
|
||||
|
||||
/// <summary>
|
||||
/// maxStorageSettingsValue control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.QuotaEditor maxStorageSettingsValue;
|
||||
|
||||
/// <summary>
|
||||
/// locWarningStorage control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locWarningStorage;
|
||||
|
||||
/// <summary>
|
||||
/// warningValue control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.QuotaEditor warningValue;
|
||||
|
||||
/// <summary>
|
||||
/// btnSave control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnSave;
|
||||
|
||||
/// <summary>
|
||||
/// btnSaveApply control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnSaveApply;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,57 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="HostedSharePointEnterpriseStorageUsage.ascx.cs" Inherits="WebsitePanel.Portal.HostedSharePointEnterpriseStorageUsage" %>
|
||||
<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport"
|
||||
TagPrefix="wsp" %>
|
||||
<%@ Register Src="../UserControls/CollapsiblePanel.ascx" TagName="CollapsiblePanel"
|
||||
TagPrefix="wsp" %>
|
||||
<%@ Register Src="../ExchangeServer/UserControls/SizeBox.ascx" TagName="SizeBox" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox"
|
||||
TagPrefix="wsp" %>
|
||||
<%@ Register Src="../ExchangeServer/UserControls/Menu.ascx" TagName="Menu" TagPrefix="wsp" %>
|
||||
|
||||
<div id="ExchangeContainer">
|
||||
<div class="Module">
|
||||
<div class="Left">
|
||||
</div>
|
||||
<div class="Content">
|
||||
<div class="Center">
|
||||
<div class="Title">
|
||||
<asp:Image ID="Image1" SkinID="ExchangeStorageConfig48" runat="server" />
|
||||
<asp:Localize ID="locTitle" runat="server" meta:resourcekey="locTitle" Text="Storage Usage"></asp:Localize>
|
||||
</div>
|
||||
<div class="FormBody">
|
||||
<wsp:SimpleMessageBox id="messageBox" runat="server" />
|
||||
|
||||
<wsp:CollapsiblePanel id="secSiteCollectionsReport" runat="server"
|
||||
TargetControlID="siteCollectionsReport" meta:resourcekey="secSiteCollectionsReport" Text="Site Collections">
|
||||
</wsp:CollapsiblePanel>
|
||||
<asp:Panel ID="siteCollectionsReport" runat="server" Height="0" style="overflow:hidden;">
|
||||
<asp:GridView ID="gvStorageUsage" runat="server" AutoGenerateColumns="False" meta:resourcekey="gvStorageUsage"
|
||||
Width="100%" EmptyDataText="gvSiteCollections" CssSelectorClass="NormalGridView">
|
||||
<Columns>
|
||||
<asp:BoundField meta:resourcekey="gvSiteCollectionName" DataField="Url" />
|
||||
<asp:BoundField meta:resourcekey="gvSiteCollectionSize" DataField="DiskSpace" />
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
<br />
|
||||
<table cellpadding="2">
|
||||
<tr>
|
||||
<td class="FormLabel150"><asp:Localize ID="locTotalboxItems" runat="server" meta:resourcekey="locTotalMailboxItems" ></asp:Localize></td>
|
||||
<td><asp:Label ID="lblTotalItems" runat="server" CssClass="NormalBold">177</asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="FormLabel150"><asp:Localize ID="locTotalMailboxesSize" runat="server" meta:resourcekey="locTotalMailboxesSize" ></asp:Localize></td>
|
||||
<td><asp:Label ID="lblTotalSize" runat="server" CssClass="NormalBold">100</asp:Label></td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
</asp:Panel>
|
||||
|
||||
|
||||
<div class="FormFooterClean">
|
||||
<asp:Button id="btnRecalculateDiscSpace" runat="server" Text="Recalculate Disk Space" CssClass="Button1" meta:resourcekey="btnRecalculateDiscSpace" OnClick="btnRecalculateDiscSpace_Click" ></asp:Button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,94 @@
|
|||
// Copyright (c) 2015, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using WebsitePanel.Providers.SharePoint;
|
||||
|
||||
namespace WebsitePanel.Portal
|
||||
{
|
||||
public partial class HostedSharePointEnterpriseStorageUsage : WebsitePanelModuleBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
BindGrid();
|
||||
}
|
||||
|
||||
protected void btnRecalculateDiscSpace_Click(object sender, EventArgs e)
|
||||
{
|
||||
BindGrid();
|
||||
}
|
||||
|
||||
private void BindGrid()
|
||||
{
|
||||
int errorCode;
|
||||
try
|
||||
{
|
||||
SharePointEnterpriseSiteDiskSpace[] sharePointEnterpriseSiteDiskSpace =
|
||||
ES.Services.HostedSharePointServersEnt.Enterprise_CalculateSharePointSitesDiskSpace(PanelRequest.ItemID,
|
||||
out errorCode);
|
||||
|
||||
|
||||
if (errorCode < 0)
|
||||
{
|
||||
messageBox.ShowResultMessage(errorCode);
|
||||
return;
|
||||
}
|
||||
|
||||
if (sharePointEnterpriseSiteDiskSpace != null && sharePointEnterpriseSiteDiskSpace.Length == 1 && string.IsNullOrEmpty(sharePointEnterpriseSiteDiskSpace[0].Url))
|
||||
{
|
||||
gvStorageUsage.DataSource = null;
|
||||
gvStorageUsage.DataBind();
|
||||
lblTotalItems.Text = "0";
|
||||
lblTotalSize.Text = "0";
|
||||
return;
|
||||
}
|
||||
|
||||
gvStorageUsage.DataSource = sharePointEnterpriseSiteDiskSpace;
|
||||
gvStorageUsage.DataBind();
|
||||
|
||||
if (sharePointEnterpriseSiteDiskSpace != null)
|
||||
{
|
||||
lblTotalItems.Text = sharePointEnterpriseSiteDiskSpace.Length.ToString();
|
||||
|
||||
long total = 0;
|
||||
foreach (SharePointEnterpriseSiteDiskSpace current in sharePointEnterpriseSiteDiskSpace)
|
||||
{
|
||||
total += current.DiskSpace;
|
||||
}
|
||||
|
||||
lblTotalSize.Text = total.ToString();
|
||||
}
|
||||
}
|
||||
catch(Exception ex)
|
||||
{
|
||||
messageBox.ShowErrorMessage("HOSTED_SHAREPOINT_RECALCULATE_SIZE", ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,114 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal {
|
||||
|
||||
|
||||
public partial class HostedSharePointEnterpriseStorageUsage {
|
||||
|
||||
/// <summary>
|
||||
/// Image1 control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Image Image1;
|
||||
|
||||
/// <summary>
|
||||
/// locTitle control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locTitle;
|
||||
|
||||
/// <summary>
|
||||
/// messageBox control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox;
|
||||
|
||||
/// <summary>
|
||||
/// secSiteCollectionsReport control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.CollapsiblePanel secSiteCollectionsReport;
|
||||
|
||||
/// <summary>
|
||||
/// siteCollectionsReport control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Panel siteCollectionsReport;
|
||||
|
||||
/// <summary>
|
||||
/// gvStorageUsage control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.GridView gvStorageUsage;
|
||||
|
||||
/// <summary>
|
||||
/// locTotalboxItems control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locTotalboxItems;
|
||||
|
||||
/// <summary>
|
||||
/// lblTotalItems control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblTotalItems;
|
||||
|
||||
/// <summary>
|
||||
/// locTotalMailboxesSize control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locTotalMailboxesSize;
|
||||
|
||||
/// <summary>
|
||||
/// lblTotalSize control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblTotalSize;
|
||||
|
||||
/// <summary>
|
||||
/// btnRecalculateDiscSpace control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnRecalculateDiscSpace;
|
||||
}
|
||||
}
|
|
@ -1,10 +1,13 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" Codebehind="HostedSharePointRestoreSiteCollection.ascx.cs"
|
||||
Inherits="WebsitePanel.Portal.HostedSharePointRestoreSiteCollection" %>
|
||||
<%@ Register Src="UserControls/FileLookup.ascx" TagName="FileLookup" TagPrefix="uc1" %>
|
||||
<%@ Register Src="UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox"
|
||||
<%@ Register Src="../UserControls/FileLookup.ascx" TagName="FileLookup" TagPrefix="uc1" %>
|
||||
<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox"
|
||||
TagPrefix="wsp" %>
|
||||
6
|
||||
<%@ Register Src="../ExchangeServer/UserControls/Menu.ascx" TagName="Menu" TagPrefix="wsp" %>
|
||||
|
||||
|
||||
<%@ Register Src="UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport"
|
||||
<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport"
|
||||
TagPrefix="wsp" %>
|
||||
|
||||
<wsp:EnableAsyncTasksSupport id="asyncTasks" runat="server" />
|
|
@ -59,11 +59,6 @@ namespace WebsitePanel.Portal
|
|||
}
|
||||
}
|
||||
|
||||
public static string GroupName
|
||||
{
|
||||
get { return HttpContext.Current.Request["GroupName"]; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
|
@ -171,7 +166,7 @@ namespace WebsitePanel.Portal
|
|||
|
||||
private void RedirectBack()
|
||||
{
|
||||
Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "sharepoint_edit_sitecollection", "SiteCollectionID=" + this.SiteCollectionId, "ItemID=" + PanelRequest.ItemID.ToString(), "GroupName=" + GroupName));
|
||||
Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "sharepoint_edit_sitecollection", "SiteCollectionID=" + this.SiteCollectionId, "ItemID=" + PanelRequest.ItemID.ToString()));
|
||||
}
|
||||
protected void radioUpload_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
|
@ -1,31 +1,3 @@
|
|||
// Copyright (c) 2015, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
|
@ -1,13 +1,13 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" Codebehind="HostedSharePointSiteCollections.ascx.cs"
|
||||
Inherits="WebsitePanel.Portal.HostedSharePointSiteCollections" %>
|
||||
<%@ Register Src="UserControls/SpaceServiceItems.ascx" TagName="SpaceServiceItems"
|
||||
<%@ Register Src="../UserControls/SpaceServiceItems.ascx" TagName="SpaceServiceItems"
|
||||
TagPrefix="wsp" %>
|
||||
<%@ Register Src="UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox"
|
||||
<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox"
|
||||
TagPrefix="wsp" %>
|
||||
<%@ Register Src="UserControls/QuotaViewer.ascx" TagName="QuotaViewer" TagPrefix="wsp" %>
|
||||
<%@ Register Src="UserControls/Quota.ascx" TagName="Quota" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../UserControls/QuotaViewer.ascx" TagName="QuotaViewer" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../UserControls/Quota.ascx" TagName="Quota" TagPrefix="wsp" %>
|
||||
|
||||
<%@ Register Src="UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport"
|
||||
<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport"
|
||||
TagPrefix="wsp" %>
|
||||
|
||||
<wsp:EnableAsyncTasksSupport id="asyncTasks" runat="server" />
|
||||
|
@ -76,8 +76,7 @@ function confirmation()
|
|||
<SelectParameters>
|
||||
<asp:QueryStringParameter Name="packageId" QueryStringField="SpaceID" DefaultValue="-1" />
|
||||
<asp:QueryStringParameter Name="organizationId" QueryStringField="ItemID" DefaultValue="0" />
|
||||
<asp:QueryStringParameter Name="groupName" QueryStringField="GroupName" DefaultValue="" />
|
||||
<asp:ControlParameter Name="filterColumn" ControlID="ddlSearchColumn" PropertyName="SelectedValue" />
|
||||
<asp:ControlParameter Name="filterColumn" ControlID="ddlSearchColumn" PropertyName="SelectedValue" />
|
||||
<asp:ControlParameter Name="filterValue" ControlID="txtSearchValue" PropertyName="Text" />
|
||||
</SelectParameters>
|
||||
</asp:ObjectDataSource>
|
|
@ -44,11 +44,7 @@ namespace WebsitePanel.Portal
|
|||
{
|
||||
public partial class HostedSharePointSiteCollections : WebsitePanelModuleBase
|
||||
{
|
||||
public static string GroupName
|
||||
{
|
||||
get { return HttpContext.Current.Request["GroupName"]; }
|
||||
}
|
||||
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.BindStats();
|
||||
|
@ -67,14 +63,14 @@ namespace WebsitePanel.Portal
|
|||
|
||||
protected void btnCreateSiteCollection_Click(object sender, EventArgs e)
|
||||
{
|
||||
Response.Redirect(EditUrl("ItemID", PanelRequest.ItemID.ToString(), "sharepoint_edit_sitecollection", "SpaceID=" + PanelSecurity.PackageId.ToString(), "GroupName=" + GroupName));
|
||||
Response.Redirect(EditUrl("ItemID", PanelRequest.ItemID.ToString(), "sharepoint_edit_sitecollection", "SpaceID=" + PanelSecurity.PackageId.ToString()));
|
||||
}
|
||||
|
||||
public string GetSiteCollectionEditUrl(string siteCollectionId)
|
||||
{
|
||||
return EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "sharepoint_edit_sitecollection",
|
||||
"SiteCollectionID=" + siteCollectionId,
|
||||
"ItemID=" + PanelRequest.ItemID.ToString(), "GroupName=" + GroupName);
|
||||
"ItemID=" + PanelRequest.ItemID.ToString());
|
||||
}
|
||||
|
||||
protected void odsSharePointSiteCollectionPaged_Selected(object sender, ObjectDataSourceStatusEventArgs e)
|
|
@ -1,13 +1,13 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="HostedSharePointStorageSettings.ascx.cs" Inherits="WebsitePanel.Portal.HostedSharePointStorageSettings" %>
|
||||
<%@ Register Src="UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport"
|
||||
<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport"
|
||||
TagPrefix="wsp" %>
|
||||
<%@ Register Src="UserControls/CollapsiblePanel.ascx" TagName="CollapsiblePanel"
|
||||
<%@ Register Src="../UserControls/CollapsiblePanel.ascx" TagName="CollapsiblePanel"
|
||||
TagPrefix="wsp" %>
|
||||
<%@ Register Src="ExchangeServer/UserControls/SizeBox.ascx" TagName="SizeBox" TagPrefix="wsp" %>
|
||||
<%@ Register Src="UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox"
|
||||
<%@ Register Src="../ExchangeServer/UserControls/SizeBox.ascx" TagName="SizeBox" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox"
|
||||
TagPrefix="wsp" %>
|
||||
|
||||
<%@ Register src="UserControls/QuotaEditor.ascx" tagname="QuotaEditor" tagprefix="uc1" %>
|
||||
<%@ Register Src="../ExchangeServer/UserControls/Menu.ascx" TagName="Menu" TagPrefix="wsp" %>
|
||||
<%@ Register src="../UserControls/QuotaEditor.ascx" tagname="QuotaEditor" tagprefix="uc1" %>
|
||||
|
||||
|
||||
|
|
@ -1,31 +1,3 @@
|
|||
// Copyright (c) 2015, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
|
@ -1,11 +1,12 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="HostedSharePointStorageUsage.ascx.cs" Inherits="WebsitePanel.Portal.HostedSharePointStorageUsage" %>
|
||||
<%@ Register Src="UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport"
|
||||
<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport"
|
||||
TagPrefix="wsp" %>
|
||||
<%@ Register Src="UserControls/CollapsiblePanel.ascx" TagName="CollapsiblePanel"
|
||||
<%@ Register Src="../UserControls/CollapsiblePanel.ascx" TagName="CollapsiblePanel"
|
||||
TagPrefix="wsp" %>
|
||||
<%@ Register Src="ExchangeServer/UserControls/SizeBox.ascx" TagName="SizeBox" TagPrefix="wsp" %>
|
||||
<%@ Register Src="UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox"
|
||||
<%@ Register Src="../ExchangeServer/UserControls/SizeBox.ascx" TagName="SizeBox" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox"
|
||||
TagPrefix="wsp" %>
|
||||
<%@ Register Src="../ExchangeServer/UserControls/Menu.ascx" TagName="Menu" TagPrefix="wsp" %>
|
||||
|
||||
<div id="ExchangeContainer">
|
||||
<div class="Module">
|
|
@ -1,31 +1,3 @@
|
|||
// Copyright (c) 2015, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
|
@ -233,6 +233,26 @@ namespace WebsitePanel.Portal
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
if (cntx.Groups.ContainsKey(ResourceGroups.VPS2012))
|
||||
{
|
||||
// VPS resource found
|
||||
// check created VPS
|
||||
VirtualMachineMetaItemsPaged vms = ES.Services.VPS2012.GetVirtualMachines(packageId, "", "", "", 0, Int32.MaxValue, false);
|
||||
if (vms.Items.Length == 1)
|
||||
{
|
||||
// one VPS - redirect to its properties screen
|
||||
Response.Redirect(PortalUtils.NavigatePageURL("SpaceVPS2012", "SpaceID", packageId.ToString(),
|
||||
"ItemID=" + vms.Items[0].ItemID.ToString(), "ctl=vps_general", "moduleDefId=VPS2012"));
|
||||
}
|
||||
else
|
||||
{
|
||||
// several VPS - redirect to VPS list page
|
||||
Response.Redirect(PortalUtils.NavigatePageURL("SpaceVPS2012", "SpaceID", packageId.ToString(),
|
||||
"ctl=", "moduleDefId=VPS2012"));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (cntx.Groups.ContainsKey(ResourceGroups.VPSForPC))
|
||||
{
|
||||
|
|
|
@ -153,6 +153,7 @@ namespace WebsitePanel.Portal
|
|||
if (maxMailboxSizeLimit == -1 || maxMailboxSizeLimit == 0)
|
||||
{
|
||||
MaxMailboxSizeLimitValidator.Enabled = false;
|
||||
CompareValidator1.Enabled = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -43,6 +43,7 @@ namespace WebsitePanel.Portal.ProviderControls
|
|||
secForwarding.Visible = (PanelRequest.ItemID > 0);
|
||||
OlderMailsPanel.Visible = (PanelRequest.ItemID > 0);
|
||||
secOlderMails.Visible = (PanelRequest.ItemID > 0);
|
||||
Utils.SelectListItem(ddlAccountType, "1"); // Set default account type to POP3 & IMAP
|
||||
}
|
||||
|
||||
public void BindItem(MailAccount item)
|
||||
|
@ -108,7 +109,6 @@ namespace WebsitePanel.Portal.ProviderControls
|
|||
item.ForwardingAddresses = Utils.ParseDelimitedString(txtForward.Text, ';', ' ', ',');
|
||||
item.DeleteOnForward = cbDeleteOnForward.Checked;
|
||||
item.ChangePassword = cbChangePassword.Checked;
|
||||
item.ChangePassword = cbChangePassword.Checked;
|
||||
item.IsDomainAdmin = cbDomainAdmin.Checked;
|
||||
|
||||
item.DeleteOlder = cbDeleteOlder.Checked;
|
||||
|
|
|
@ -123,6 +123,15 @@
|
|||
<data name="cbUsers.Text" xml:space="preserve">
|
||||
<value>Users</value>
|
||||
</data>
|
||||
<data name="secChangeDesktop.Text" xml:space="preserve">
|
||||
<value>Changing Desktop Disabled</value>
|
||||
</data>
|
||||
<data name="secControlSession.Text" xml:space="preserve">
|
||||
<value>Control RDS Session without Users's Permission</value>
|
||||
</data>
|
||||
<data name="secDisableCmd.Text" xml:space="preserve">
|
||||
<value>Disable Command Prompt</value>
|
||||
</data>
|
||||
<data name="secDriveSpace.Text" xml:space="preserve">
|
||||
<value>Drive Space Threshold</value>
|
||||
</data>
|
||||
|
@ -147,7 +156,7 @@
|
|||
<data name="secTimeout.Text" xml:space="preserve">
|
||||
<value>Lock Screen Timeout</value>
|
||||
</data>
|
||||
<data name="sekChangeDesktop.Text" xml:space="preserve">
|
||||
<value>Changing Desktop Disabled</value>
|
||||
<data name="secViewSession.Text" xml:space="preserve">
|
||||
<value>View RDS Session without Users's Permission</value>
|
||||
</data>
|
||||
</root>
|
|
@ -138,4 +138,7 @@
|
|||
<data name="valRequireEmail.Text" xml:space="preserve">
|
||||
<value>* Enter E-Mail</value>
|
||||
</data>
|
||||
<data name="btnExit.Text" xml:space="preserve">
|
||||
<value>Back to Users List</value>
|
||||
</data>
|
||||
</root>
|
|
@ -150,4 +150,16 @@
|
|||
<data name="btnRefresh.Text" xml:space="preserve">
|
||||
<value>Refresh</value>
|
||||
</data>
|
||||
<data name="cmdControlSession.Text" xml:space="preserve">
|
||||
<value>Control</value>
|
||||
</data>
|
||||
<data name="cmdControlSession.ToolTip" xml:space="preserve">
|
||||
<value>Control Session</value>
|
||||
</data>
|
||||
<data name="cmdViewSession.Text" xml:space="preserve">
|
||||
<value>View</value>
|
||||
</data>
|
||||
<data name="cmdViewSession.ToolTip" xml:space="preserve">
|
||||
<value>View Session</value>
|
||||
</data>
|
||||
</root>
|
|
@ -29,7 +29,7 @@
|
|||
<table>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<asp:TextBox ID="txtTimeout" runat="server" CssClass="TextBox200" ></asp:TextBox>
|
||||
<asp:DropDownList ID="ddTimeout" runat="server" CssClass="NormalTextBox"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
@ -145,13 +145,65 @@
|
|||
<asp:Panel ID="driveSpacePanel" runat="server" Height="0" style="overflow:hidden;">
|
||||
<table>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<asp:TextBox ID="txtThreshold" runat="server" CssClass="TextBox200" ></asp:TextBox>
|
||||
<td colspan="2">
|
||||
<asp:DropDownList ID="ddTreshold" runat="server" CssClass="NormalTextBox">
|
||||
<asp:ListItem Value="" Text="None" />
|
||||
<asp:ListItem Value="5" Text="5%" />
|
||||
<asp:ListItem Value="10" Text="10%" />
|
||||
<asp:ListItem Value="15" Text="15%" />
|
||||
<asp:ListItem Value="20" Text="20%" />
|
||||
<asp:ListItem Value="25" Text="25%" />
|
||||
<asp:ListItem Value="30" Text="30%" />
|
||||
<asp:ListItem Value="35" Text="35%" />
|
||||
<asp:ListItem Value="40" Text="40%" />
|
||||
</asp:DropDownList>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
</asp:Panel>
|
||||
<wsp:CollapsiblePanel id="secViewSession" runat="server" TargetControlID="viewSessionPanel" meta:resourcekey="secViewSession" Text="View RDS Session without Users's Permission"/>
|
||||
<asp:Panel ID="viewSessionPanel" runat="server" Height="0" style="overflow:hidden;">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Users" ID="cbViewSessionUsers" meta:resourcekey="cbUsers" Checked="false" />
|
||||
</td>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Administrators" meta:resourcekey="cbAdministrators" ID="cbViewSessionAdministrators" Checked="false" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
</asp:Panel>
|
||||
<wsp:CollapsiblePanel id="secControlSession" runat="server" TargetControlID="controlSessionPanel" meta:resourcekey="secControlSession" Text="Control RDS Session without Users's Permission"/>
|
||||
<asp:Panel ID="controlSessionPanel" runat="server" Height="0" style="overflow:hidden;">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Users" ID="cbControlSessionUsers" meta:resourcekey="cbUsers" Checked="false" />
|
||||
</td>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Administrators" meta:resourcekey="cbAdministrators" ID="cbControlSessionAdministrators" Checked="false" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
</asp:Panel>
|
||||
<wsp:CollapsiblePanel id="secDisableCmd" runat="server" TargetControlID="disableCmdPanel" meta:resourcekey="secDisableCmd" Text="Disable Command Prompt"/>
|
||||
<asp:Panel ID="disableCmdPanel" runat="server" Height="0" style="overflow:hidden;">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Users" ID="cbDisableCmdUsers" meta:resourcekey="cbUsers" Checked="false" />
|
||||
</td>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Administrators" meta:resourcekey="cbAdministrators" ID="cbDisableCmdAdministrators" Checked="false" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
</asp:Panel>
|
||||
<div class="FormFooterClean">
|
||||
<wsp:ItemButtonPanel id="buttonPanel" runat="server" ValidationGroup="SaveRDSCollection"
|
||||
OnSaveClick="btnSave_Click" OnSaveExitClick="btnSaveExit_Click" />
|
||||
|
|
|
@ -15,6 +15,12 @@ namespace WebsitePanel.Portal.RDS
|
|||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
var timeouts = RdsServerSettings.ScreenSaverTimeOuts;
|
||||
ddTimeout.DataSource = timeouts;
|
||||
ddTimeout.DataTextField = "Value";
|
||||
ddTimeout.DataValueField = "Key";
|
||||
ddTimeout.DataBind();
|
||||
|
||||
var collection = ES.Services.RDS.GetRdsCollection(PanelRequest.CollectionID);
|
||||
litCollectionName.Text = collection.DisplayName;
|
||||
BindSettings();
|
||||
|
@ -27,8 +33,8 @@ namespace WebsitePanel.Portal.RDS
|
|||
|
||||
if (serverSettings == null || !serverSettings.Settings.Any())
|
||||
{
|
||||
var defaultSettings = ES.Services.Users.GetUserSettings(PanelSecurity.LoggedUserId, UserSettings.RDS_POLICY);
|
||||
BindDefaultSettings(defaultSettings);
|
||||
ddTimeout.SelectedValue = "";
|
||||
ddTreshold.SelectedValue = "";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -39,45 +45,47 @@ namespace WebsitePanel.Portal.RDS
|
|||
private void BindSettings(RdsServerSettings settings)
|
||||
{
|
||||
var setting = GetServerSetting(settings, RdsServerSettings.LOCK_SCREEN_TIMEOUT);
|
||||
txtTimeout.Text = setting.PropertyValue;
|
||||
cbTimeoutAdministrators.Checked = setting.ApplyAdministrators;
|
||||
cbTimeoutUsers.Checked = setting.ApplyUsers;
|
||||
|
||||
setting = GetServerSetting(settings, RdsServerSettings.REMOVE_RUN_COMMAND);
|
||||
cbRunCommandAdministrators.Checked = setting.ApplyAdministrators;
|
||||
cbRunCommandUsers.Checked = setting.ApplyUsers;
|
||||
if (setting != null)
|
||||
{
|
||||
ddTimeout.SelectedValue = setting.PropertyValue;
|
||||
cbTimeoutAdministrators.Checked = setting.ApplyAdministrators;
|
||||
cbTimeoutUsers.Checked = setting.ApplyUsers;
|
||||
}
|
||||
|
||||
setting = GetServerSetting(settings, RdsServerSettings.REMOVE_POWERSHELL_COMMAND);
|
||||
cbPowershellAdministrators.Checked = setting.ApplyAdministrators;
|
||||
cbPowershellUsers.Checked = setting.ApplyUsers;
|
||||
|
||||
setting = GetServerSetting(settings, RdsServerSettings.HIDE_C_DRIVE);
|
||||
cbHideCDriveAdministrators.Checked = setting.ApplyAdministrators;
|
||||
cbHideCDriveUsers.Checked = setting.ApplyUsers;
|
||||
|
||||
setting = GetServerSetting(settings, RdsServerSettings.REMOVE_SHUTDOWN_RESTART);
|
||||
cbShutdownAdministrators.Checked = setting.ApplyAdministrators;
|
||||
cbShutdownUsers.Checked = setting.ApplyUsers;
|
||||
|
||||
setting = GetServerSetting(settings, RdsServerSettings.DISABLE_TASK_MANAGER);
|
||||
cbTaskManagerAdministrators.Checked = setting.ApplyAdministrators;
|
||||
cbTaskManagerUsers.Checked = setting.ApplyUsers;
|
||||
|
||||
setting = GetServerSetting(settings, RdsServerSettings.CHANGE_DESKTOP_DISABLED);
|
||||
cbDesktopAdministrators.Checked = setting.ApplyAdministrators;
|
||||
cbDesktopUsers.Checked = setting.ApplyUsers;
|
||||
|
||||
setting = GetServerSetting(settings, RdsServerSettings.SCREEN_SAVER_DISABLED);
|
||||
cbScreenSaverAdministrators.Checked = setting.ApplyAdministrators;
|
||||
cbScreenSaverUsers.Checked = setting.ApplyUsers;
|
||||
SetCheckboxes(settings, RdsServerSettings.REMOVE_RUN_COMMAND, cbRunCommandAdministrators, cbRunCommandUsers);
|
||||
SetCheckboxes(settings, RdsServerSettings.REMOVE_POWERSHELL_COMMAND, cbPowershellAdministrators, cbPowershellUsers);
|
||||
SetCheckboxes(settings, RdsServerSettings.HIDE_C_DRIVE, cbHideCDriveAdministrators, cbHideCDriveUsers);
|
||||
SetCheckboxes(settings, RdsServerSettings.REMOVE_SHUTDOWN_RESTART, cbShutdownAdministrators, cbShutdownUsers);
|
||||
SetCheckboxes(settings, RdsServerSettings.DISABLE_TASK_MANAGER, cbTaskManagerAdministrators, cbTaskManagerUsers);
|
||||
SetCheckboxes(settings, RdsServerSettings.CHANGE_DESKTOP_DISABLED, cbDesktopAdministrators, cbDesktopUsers);
|
||||
SetCheckboxes(settings, RdsServerSettings.SCREEN_SAVER_DISABLED, cbScreenSaverAdministrators, cbScreenSaverUsers);
|
||||
SetCheckboxes(settings, RdsServerSettings.RDS_VIEW_WITHOUT_PERMISSION, cbViewSessionAdministrators, cbViewSessionUsers);
|
||||
SetCheckboxes(settings, RdsServerSettings.RDS_CONTROL_WITHOUT_PERMISSION, cbControlSessionAdministrators, cbControlSessionUsers);
|
||||
SetCheckboxes(settings, RdsServerSettings.DISABLE_CMD, cbDisableCmdAdministrators, cbDisableCmdUsers);
|
||||
|
||||
setting = GetServerSetting(settings, RdsServerSettings.DRIVE_SPACE_THRESHOLD);
|
||||
txtThreshold.Text = setting.PropertyValue;
|
||||
|
||||
if (setting != null)
|
||||
{
|
||||
ddTreshold.SelectedValue = setting.PropertyValue;
|
||||
}
|
||||
}
|
||||
|
||||
private void SetCheckboxes(RdsServerSettings settings, string settingName, CheckBox cbAdministrators, CheckBox cbUsers)
|
||||
{
|
||||
var setting = GetServerSetting(settings, settingName);
|
||||
|
||||
if (setting != null)
|
||||
{
|
||||
cbAdministrators.Checked = setting.ApplyAdministrators;
|
||||
cbUsers.Checked = setting.ApplyUsers;
|
||||
}
|
||||
}
|
||||
|
||||
private RdsServerSetting GetServerSetting(RdsServerSettings settings, string propertyName)
|
||||
{
|
||||
return settings.Settings.First(s => s.PropertyName.Equals(propertyName));
|
||||
return settings.Settings.FirstOrDefault(s => s.PropertyName.Equals(propertyName));
|
||||
}
|
||||
|
||||
private RdsServerSettings GetSettings()
|
||||
|
@ -87,7 +95,7 @@ namespace WebsitePanel.Portal.RDS
|
|||
settings.Settings.Add(new RdsServerSetting
|
||||
{
|
||||
PropertyName = RdsServerSettings.LOCK_SCREEN_TIMEOUT,
|
||||
PropertyValue = txtTimeout.Text,
|
||||
PropertyValue = ddTimeout.SelectedValue,
|
||||
ApplyAdministrators = cbTimeoutAdministrators.Checked,
|
||||
ApplyUsers = cbTimeoutUsers.Checked
|
||||
});
|
||||
|
@ -151,43 +159,37 @@ namespace WebsitePanel.Portal.RDS
|
|||
settings.Settings.Add(new RdsServerSetting
|
||||
{
|
||||
PropertyName = RdsServerSettings.DRIVE_SPACE_THRESHOLD,
|
||||
PropertyValue = txtThreshold.Text,
|
||||
PropertyValue = ddTreshold.SelectedValue,
|
||||
ApplyAdministrators = true,
|
||||
ApplyUsers = true
|
||||
});
|
||||
|
||||
settings.Settings.Add(new RdsServerSetting
|
||||
{
|
||||
PropertyName = RdsServerSettings.RDS_VIEW_WITHOUT_PERMISSION,
|
||||
PropertyValue = "",
|
||||
ApplyAdministrators = cbViewSessionAdministrators.Checked,
|
||||
ApplyUsers = cbViewSessionUsers.Checked
|
||||
});
|
||||
|
||||
settings.Settings.Add(new RdsServerSetting
|
||||
{
|
||||
PropertyName = RdsServerSettings.RDS_CONTROL_WITHOUT_PERMISSION,
|
||||
PropertyValue = "",
|
||||
ApplyAdministrators = cbControlSessionAdministrators.Checked,
|
||||
ApplyUsers = cbControlSessionUsers.Checked
|
||||
});
|
||||
|
||||
settings.Settings.Add(new RdsServerSetting
|
||||
{
|
||||
PropertyName = RdsServerSettings.DISABLE_CMD,
|
||||
PropertyValue = "",
|
||||
ApplyAdministrators = cbDisableCmdAdministrators.Checked,
|
||||
ApplyUsers = cbDisableCmdUsers.Checked
|
||||
});
|
||||
|
||||
return settings;
|
||||
}
|
||||
|
||||
private void BindDefaultSettings(UserSettings settings)
|
||||
{
|
||||
txtTimeout.Text = settings[RdsServerSettings.LOCK_SCREEN_TIMEOUT_VALUE];
|
||||
cbTimeoutAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.LOCK_SCREEN_TIMEOUT_ADMINISTRATORS]);
|
||||
cbTimeoutUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.LOCK_SCREEN_TIMEOUT_USERS]);
|
||||
|
||||
cbRunCommandAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.REMOVE_RUN_COMMAND_ADMINISTRATORS]);
|
||||
cbRunCommandUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.REMOVE_RUN_COMMAND_USERS]);
|
||||
|
||||
cbPowershellAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.REMOVE_POWERSHELL_COMMAND_ADMINISTRATORS]);
|
||||
cbPowershellUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.REMOVE_POWERSHELL_COMMAND_USERS]);
|
||||
|
||||
cbHideCDriveAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.HIDE_C_DRIVE_ADMINISTRATORS]);
|
||||
cbHideCDriveUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.HIDE_C_DRIVE_USERS]);
|
||||
|
||||
cbShutdownAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.REMOVE_SHUTDOWN_RESTART_ADMINISTRATORS]);
|
||||
cbShutdownUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.REMOVE_SHUTDOWN_RESTART_USERS]);
|
||||
|
||||
cbTaskManagerAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.DISABLE_TASK_MANAGER_ADMINISTRATORS]);
|
||||
cbTaskManagerUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.DISABLE_TASK_MANAGER_USERS]);
|
||||
|
||||
cbDesktopAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.CHANGE_DESKTOP_DISABLED_ADMINISTRATORS]);
|
||||
cbDesktopUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.CHANGE_DESKTOP_DISABLED_USERS]);
|
||||
|
||||
cbScreenSaverAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.SCREEN_SAVER_DISABLED_ADMINISTRATORS]);
|
||||
cbScreenSaverUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.SCREEN_SAVER_DISABLED_USERS]);
|
||||
|
||||
txtThreshold.Text = settings[RdsServerSettings.DRIVE_SPACE_THRESHOLD_VALUE];
|
||||
}
|
||||
}
|
||||
|
||||
private bool SaveServerSettings()
|
||||
{
|
||||
|
|
|
@ -85,13 +85,13 @@ namespace WebsitePanel.Portal.RDS {
|
|||
protected global::System.Web.UI.WebControls.Panel timeoutPanel;
|
||||
|
||||
/// <summary>
|
||||
/// txtTimeout control.
|
||||
/// ddTimeout control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtTimeout;
|
||||
protected global::System.Web.UI.WebControls.DropDownList ddTimeout;
|
||||
|
||||
/// <summary>
|
||||
/// cbTimeoutUsers control.
|
||||
|
@ -382,13 +382,121 @@ namespace WebsitePanel.Portal.RDS {
|
|||
protected global::System.Web.UI.WebControls.Panel driveSpacePanel;
|
||||
|
||||
/// <summary>
|
||||
/// txtThreshold control.
|
||||
/// ddTreshold control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtThreshold;
|
||||
protected global::System.Web.UI.WebControls.DropDownList ddTreshold;
|
||||
|
||||
/// <summary>
|
||||
/// secViewSession control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.CollapsiblePanel secViewSession;
|
||||
|
||||
/// <summary>
|
||||
/// viewSessionPanel control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Panel viewSessionPanel;
|
||||
|
||||
/// <summary>
|
||||
/// cbViewSessionUsers control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.CheckBox cbViewSessionUsers;
|
||||
|
||||
/// <summary>
|
||||
/// cbViewSessionAdministrators control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.CheckBox cbViewSessionAdministrators;
|
||||
|
||||
/// <summary>
|
||||
/// secControlSession control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.CollapsiblePanel secControlSession;
|
||||
|
||||
/// <summary>
|
||||
/// controlSessionPanel control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Panel controlSessionPanel;
|
||||
|
||||
/// <summary>
|
||||
/// cbControlSessionUsers control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.CheckBox cbControlSessionUsers;
|
||||
|
||||
/// <summary>
|
||||
/// cbControlSessionAdministrators control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.CheckBox cbControlSessionAdministrators;
|
||||
|
||||
/// <summary>
|
||||
/// secDisableCmd control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.CollapsiblePanel secDisableCmd;
|
||||
|
||||
/// <summary>
|
||||
/// disableCmdPanel control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Panel disableCmdPanel;
|
||||
|
||||
/// <summary>
|
||||
/// cbDisableCmdUsers control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.CheckBox cbDisableCmdUsers;
|
||||
|
||||
/// <summary>
|
||||
/// cbDisableCmdAdministrators control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.CheckBox cbDisableCmdAdministrators;
|
||||
|
||||
/// <summary>
|
||||
/// buttonPanel control.
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
</div>
|
||||
<div class="FormBody">
|
||||
<wsp:SimpleMessageBox id="messageBox" runat="server" />
|
||||
<wsp:CollectionTabs id="tabs" runat="server" SelectedTab="rds_setup_letter" />
|
||||
<wsp:CollectionTabs id="tabs" runat="server" SelectedTab="rds_collection_edit_users" />
|
||||
|
||||
<wsp:CollapsiblePanel id="secEmail" runat="server" IsCollapsed="true"
|
||||
TargetControlID="EmailPanel" meta:resourcekey="secEmail" Text="Send via E-Mail">
|
||||
|
@ -41,13 +41,13 @@
|
|||
</td>
|
||||
<td class="Normal">
|
||||
<asp:TextBox ID="txtCC" runat="server" CssClass="NormalTextBox" Width="300px"></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>
|
||||
<asp:Button ID="btnSend" runat="server" CssClass="Button2" meta:resourcekey="btnSend" Text="Send" OnClick="btnSend_Click" ValidationGroup="SendEmail" /></td>
|
||||
</tr>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="FormFooterClean">
|
||||
<asp:Button id="btnExit" runat="server" Text="Back to Users List" CssClass="Button1" meta:resourcekey="btnExit"
|
||||
OnClick="btnExit_Click" OnClientClick="ShowProgressDialog('Loading ...');"/>
|
||||
<asp:Button ID="btnSend" runat="server" CssClass="Button2" meta:resourcekey="btnSend" Text="Send" OnClick="btnSend_Click" ValidationGroup="SendEmail" />
|
||||
</div>
|
||||
</asp:Panel>
|
||||
|
||||
<div class="PreviewArea">
|
||||
|
|
|
@ -59,5 +59,10 @@ namespace WebsitePanel.Portal.RDS
|
|||
return;
|
||||
}
|
||||
}
|
||||
|
||||
protected void btnExit_Click(object sender, EventArgs e)
|
||||
{
|
||||
Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "rds_collection_edit_users", "CollectionId=" + PanelRequest.CollectionID, "ItemID=" + PanelRequest.ItemID));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -129,6 +129,15 @@ namespace WebsitePanel.Portal.RDS {
|
|||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtCC;
|
||||
|
||||
/// <summary>
|
||||
/// btnExit control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnExit;
|
||||
|
||||
/// <summary>
|
||||
/// btnSend control.
|
||||
/// </summary>
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
OnRowCommand="gvRDSCollections_RowCommand" AllowPaging="True" AllowSorting="True">
|
||||
<Columns>
|
||||
<asp:TemplateField meta:resourcekey="gvUserName" HeaderText="gvUserName">
|
||||
<ItemStyle Width="30%" Wrap="false"/>
|
||||
<ItemStyle Width="25%" Wrap="false"/>
|
||||
<ItemTemplate>
|
||||
<asp:Image ID="vipImage" runat="server" ImageUrl='<%# GetAccountImage(Convert.ToBoolean(Eval("IsVip"))) %>' ImageAlign="AbsMiddle"/>
|
||||
<asp:Literal ID="litUserName" runat="server" Text='<%# Eval("UserName") %>'/>
|
||||
|
@ -48,17 +48,29 @@
|
|||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField meta:resourcekey="gvHostServer" HeaderText="gvHostServer">
|
||||
<ItemStyle Width="30%" Wrap="false"/>
|
||||
<ItemStyle Width="25%" Wrap="false"/>
|
||||
<ItemTemplate>
|
||||
<asp:Literal ID="litHostServer" runat="server" Text='<%# Eval("HostServer") %>'/>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField meta:resourcekey="gvSessionState" HeaderText="gvSessionState">
|
||||
<ItemStyle Width="30%" Wrap="false"/>
|
||||
<ItemStyle Width="25%" Wrap="false"/>
|
||||
<ItemTemplate>
|
||||
<asp:Literal ID="litSessionState" runat="server" Text='<%# Eval("SessionState") %>'/>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField>
|
||||
<ItemTemplate>
|
||||
<asp:LinkButton ID="lnkViewSession" runat="server" Text="View" CommandName="View" CommandArgument='<%# Eval("UnifiedSessionId") %>'
|
||||
meta:resourcekey="cmdViewSession"></asp:LinkButton>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField>
|
||||
<ItemTemplate>
|
||||
<asp:LinkButton ID="lnkControlSession" runat="server" Text="Control" CommandName="Control" CommandArgument='<%# Eval("UnifiedSessionId") %>'
|
||||
meta:resourcekey="cmdControlSession"></asp:LinkButton>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField>
|
||||
<ItemTemplate>
|
||||
<asp:LinkButton ID="lnkLogOff" runat="server" Text="Log Off" CommandName="LogOff" CommandArgument='<%# Eval("UnifiedSessionId") + ";" + Eval("HostServer") %>'
|
||||
|
|
|
@ -44,6 +44,28 @@ namespace WebsitePanel.Portal.RDS
|
|||
ShowErrorMessage("REMOTE_DESKTOP_SERVICES_LOG_OFF_USER", ex);
|
||||
}
|
||||
}
|
||||
else if (e.CommandName == "View")
|
||||
{
|
||||
try
|
||||
{
|
||||
ES.Services.RDS.ShadowSession(PanelRequest.ItemID, e.CommandArgument.ToString(), false);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ShowErrorMessage("REMOTE_DESKTOP_SERVICES_VIEW_SESSION", ex);
|
||||
}
|
||||
}
|
||||
else if (e.CommandName == "Control")
|
||||
{
|
||||
try
|
||||
{
|
||||
ES.Services.RDS.ShadowSession(PanelRequest.ItemID, e.CommandArgument.ToString(), true);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ShowErrorMessage("REMOTE_DESKTOP_SERVICES_CONTROL_SESSION", ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void btnSave_Click(object sender, EventArgs e)
|
||||
|
|
|
@ -5,13 +5,13 @@
|
|||
<asp:DataList ID="rdsTabs" runat="server" RepeatDirection="Horizontal" RepeatLayout="Flow" EnableViewState="false">
|
||||
<ItemStyle Wrap="False" />
|
||||
<ItemTemplate >
|
||||
<asp:HyperLink ID="lnkTab" runat="server" CssClass="Tab" NavigateUrl='<%# Eval("Url") %>' OnClick="return tabClicked();">
|
||||
<asp:HyperLink ID="lnkTab" runat="server" CssClass="Tab" style="padding:10px 15px;" NavigateUrl='<%# Eval("Url") %>' OnClick="return tabClicked();">
|
||||
<%# Eval("Name") %>
|
||||
</asp:HyperLink>
|
||||
</ItemTemplate>
|
||||
<SelectedItemStyle Wrap="False" />
|
||||
<SelectedItemTemplate>
|
||||
<asp:HyperLink ID="lnkSelTab" runat="server" CssClass="ActiveTab" NavigateUrl='<%# Eval("Url") %>' OnClick="return tabClicked;">
|
||||
<asp:HyperLink ID="lnkSelTab" runat="server" CssClass="ActiveTab" style="padding:10px 15px;" NavigateUrl='<%# Eval("Url") %>' OnClick="return tabClicked;">
|
||||
<%# Eval("Name") %>
|
||||
</asp:HyperLink>
|
||||
</SelectedItemTemplate>
|
||||
|
|
|
@ -22,12 +22,11 @@ namespace WebsitePanel.Portal.RDS.UserControls
|
|||
List<Tab> tabsList = new List<Tab>();
|
||||
tabsList.Add(CreateTab("rds_edit_collection", "Tab.RdsServers"));
|
||||
tabsList.Add(CreateTab("rds_edit_collection_settings", "Tab.Settings"));
|
||||
tabsList.Add(CreateTab("rds_collection_user_experience", "Tab.UserExperience"));
|
||||
tabsList.Add(CreateTab("rds_collection_edit_apps", "Tab.RdsApplications"));
|
||||
tabsList.Add(CreateTab("rds_collection_edit_users", "Tab.RdsUsers"));
|
||||
tabsList.Add(CreateTab("rds_collection_user_sessions", "Tab.UserSessions"));
|
||||
tabsList.Add(CreateTab("rds_collection_local_admins", "Tab.LocalAdmins"));
|
||||
tabsList.Add(CreateTab("rds_collection_user_experience", "Tab.UserExperience"));
|
||||
tabsList.Add(CreateTab("rds_setup_letter", "Tab.RdsSetupLetter"));
|
||||
tabsList.Add(CreateTab("rds_collection_local_admins", "Tab.LocalAdmins"));
|
||||
|
||||
int idx = 0;
|
||||
|
||||
|
|
|
@ -63,10 +63,10 @@
|
|||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField DataField="Address" HeaderText="IP Address"><ItemStyle Width="10%"/></asp:BoundField>
|
||||
<asp:BoundField DataField="ItemName" HeaderText="Organization"><ItemStyle Width="10%"/></asp:BoundField>
|
||||
<asp:BoundField DataField="Description" HeaderText="Comments"><ItemStyle Width="20%"/></asp:BoundField>
|
||||
<asp:BoundField DataField="ItemName" HeaderText="Organization"><ItemStyle Width="20%"/></asp:BoundField>
|
||||
<asp:BoundField DataField="Description" HeaderText="Comments"><ItemStyle Width="15%"/></asp:BoundField>
|
||||
<asp:TemplateField meta:resourcekey="gvPopupStatus">
|
||||
<ItemStyle Width="20%" HorizontalAlign="Left" />
|
||||
<ItemStyle Width="15%" HorizontalAlign="Left" />
|
||||
<ItemTemplate>
|
||||
<asp:Literal ID="litStatus" runat="server" Text='<%# Eval("Status") %>'></asp:Literal>
|
||||
<asp:HiddenField ID="hdnRdsCollectionId" runat="server" Value='<%# Eval("RdsCollectionId") %>' />
|
||||
|
|
|
@ -161,7 +161,7 @@ namespace WebsitePanel.Portal
|
|||
(resourceGroup.GroupName == ResourceGroups.Os)|
|
||||
(resourceGroup.GroupName == ResourceGroups.HostedOrganizations) |
|
||||
(resourceGroup.GroupName == ResourceGroups.SharepointFoundationServer) |
|
||||
(resourceGroup.GroupName == ResourceGroups.SharepointServer) |
|
||||
(resourceGroup.GroupName == ResourceGroups.SharepointEnterpriseServer) |
|
||||
(resourceGroup.GroupName == ResourceGroups.Mail)|
|
||||
(resourceGroup.GroupName == ResourceGroups.Lync)|
|
||||
(resourceGroup.GroupName == ResourceGroups.Exchange)|
|
||||
|
@ -177,6 +177,7 @@ namespace WebsitePanel.Portal
|
|||
(resourceGroup.GroupName == ResourceGroups.MySql5)|
|
||||
(resourceGroup.GroupName == ResourceGroups.Statistics)|
|
||||
(resourceGroup.GroupName == ResourceGroups.VPS)|
|
||||
(resourceGroup.GroupName == ResourceGroups.VPS2012)|
|
||||
(resourceGroup.GroupName == ResourceGroups.VPSForPC));
|
||||
}
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<table>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<asp:TextBox ID="txtTimeout" runat="server" CssClass="TextBox200" ></asp:TextBox>
|
||||
<asp:DropDownList ID="ddTimeout" runat="server" CssClass="NormalTextBox"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
@ -122,10 +122,62 @@
|
|||
<asp:Panel ID="driveSpacePanel" runat="server" Height="0" style="overflow:hidden;">
|
||||
<table>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<asp:TextBox ID="txtThreshold" runat="server" CssClass="TextBox200" ></asp:TextBox>
|
||||
<td colspan="2">
|
||||
<asp:DropDownList ID="ddTreshold" runat="server" CssClass="NormalTextBox">
|
||||
<asp:ListItem Value="" Text="None" />
|
||||
<asp:ListItem Value="5" Text="5%" />
|
||||
<asp:ListItem Value="10" Text="10%" />
|
||||
<asp:ListItem Value="15" Text="15%" />
|
||||
<asp:ListItem Value="20" Text="20%" />
|
||||
<asp:ListItem Value="25" Text="25%" />
|
||||
<asp:ListItem Value="30" Text="30%" />
|
||||
<asp:ListItem Value="35" Text="35%" />
|
||||
<asp:ListItem Value="40" Text="40%" />
|
||||
</asp:DropDownList>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
</asp:Panel>
|
||||
<wsp:CollapsiblePanel id="secViewSession" runat="server" TargetControlID="viewSessionPanel" meta:resourcekey="secViewSession" Text="View RDS Session without Users's Permission"/>
|
||||
<asp:Panel ID="viewSessionPanel" runat="server" Height="0" style="overflow:hidden;">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Users" ID="cbViewSessionUsers" meta:resourcekey="cbUsers" Checked="false" />
|
||||
</td>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Administrators" meta:resourcekey="cbAdministrators" ID="cbViewSessionAdministrators" Checked="false" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
</asp:Panel>
|
||||
<wsp:CollapsiblePanel id="secControlSession" runat="server" TargetControlID="controlSessionPanel" meta:resourcekey="secControlSession" Text="Control RDS Session without Users's Permission"/>
|
||||
<asp:Panel ID="controlSessionPanel" runat="server" Height="0" style="overflow:hidden;">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Users" ID="cbControlSessionUsers" meta:resourcekey="cbUsers" Checked="false" />
|
||||
</td>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Administrators" meta:resourcekey="cbAdministrators" ID="cbControlSessionAdministrators" Checked="false" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
</asp:Panel>
|
||||
<wsp:CollapsiblePanel id="secDisableCmd" runat="server" TargetControlID="disableCmdPanel" meta:resourcekey="secDisableCmd" Text="Disable Command Prompt"/>
|
||||
<asp:Panel ID="disableCmdPanel" runat="server" Height="0" style="overflow:hidden;">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Users" ID="cbDisableCmdUsers" meta:resourcekey="cbUsers" Checked="false" />
|
||||
</td>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Administrators" meta:resourcekey="cbAdministrators" ID="cbDisableCmdAdministrators" Checked="false" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
</asp:Panel>
|
|
@ -13,7 +13,13 @@ namespace WebsitePanel.Portal
|
|||
{
|
||||
public void BindSettings(UserSettings settings)
|
||||
{
|
||||
txtTimeout.Text = settings[RdsServerSettings.LOCK_SCREEN_TIMEOUT_VALUE];
|
||||
var timeouts = RdsServerSettings.ScreenSaverTimeOuts;
|
||||
ddTimeout.DataSource = timeouts;
|
||||
ddTimeout.DataTextField = "Value";
|
||||
ddTimeout.DataValueField = "Key";
|
||||
ddTimeout.DataBind();
|
||||
|
||||
ddTimeout.SelectedValue = settings[RdsServerSettings.LOCK_SCREEN_TIMEOUT_VALUE];
|
||||
cbTimeoutAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.LOCK_SCREEN_TIMEOUT_ADMINISTRATORS]);
|
||||
cbTimeoutUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.LOCK_SCREEN_TIMEOUT_USERS]);
|
||||
|
||||
|
@ -38,12 +44,20 @@ namespace WebsitePanel.Portal
|
|||
cbScreenSaverAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.SCREEN_SAVER_DISABLED_ADMINISTRATORS]);
|
||||
cbScreenSaverUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.SCREEN_SAVER_DISABLED_USERS]);
|
||||
|
||||
txtThreshold.Text = settings[RdsServerSettings.DRIVE_SPACE_THRESHOLD_VALUE];
|
||||
cbViewSessionAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.RDS_VIEW_WITHOUT_PERMISSION_ADMINISTRATORS]);
|
||||
cbViewSessionUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.RDS_VIEW_WITHOUT_PERMISSION_Users]);
|
||||
cbControlSessionAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.RDS_CONTROL_WITHOUT_PERMISSION_ADMINISTRATORS]);
|
||||
cbControlSessionUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.RDS_CONTROL_WITHOUT_PERMISSION_Users]);
|
||||
|
||||
cbDisableCmdAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.DISABLE_CMD_ADMINISTRATORS]);
|
||||
cbDisableCmdUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.DISABLE_CMD_USERS]);
|
||||
|
||||
ddTreshold.SelectedValue = settings[RdsServerSettings.DRIVE_SPACE_THRESHOLD_VALUE];
|
||||
}
|
||||
|
||||
public void SaveSettings(UserSettings settings)
|
||||
{
|
||||
settings[RdsServerSettings.LOCK_SCREEN_TIMEOUT_VALUE] = txtTimeout.Text;
|
||||
settings[RdsServerSettings.LOCK_SCREEN_TIMEOUT_VALUE] = ddTimeout.SelectedValue;
|
||||
settings[RdsServerSettings.LOCK_SCREEN_TIMEOUT_ADMINISTRATORS] = cbTimeoutAdministrators.Checked.ToString();
|
||||
settings[RdsServerSettings.LOCK_SCREEN_TIMEOUT_USERS] = cbTimeoutUsers.Checked.ToString();
|
||||
settings[RdsServerSettings.REMOVE_RUN_COMMAND_ADMINISTRATORS] = cbRunCommandAdministrators.Checked.ToString();
|
||||
|
@ -60,7 +74,13 @@ namespace WebsitePanel.Portal
|
|||
settings[RdsServerSettings.CHANGE_DESKTOP_DISABLED_USERS] = cbDesktopUsers.Checked.ToString();
|
||||
settings[RdsServerSettings.SCREEN_SAVER_DISABLED_ADMINISTRATORS] = cbScreenSaverAdministrators.Checked.ToString();
|
||||
settings[RdsServerSettings.SCREEN_SAVER_DISABLED_USERS] = cbScreenSaverUsers.Checked.ToString();
|
||||
settings[RdsServerSettings.DRIVE_SPACE_THRESHOLD_VALUE] = txtThreshold.Text;
|
||||
settings[RdsServerSettings.DRIVE_SPACE_THRESHOLD_VALUE] = ddTreshold.SelectedValue;
|
||||
settings[RdsServerSettings.RDS_VIEW_WITHOUT_PERMISSION_ADMINISTRATORS] = cbViewSessionAdministrators.Checked.ToString();
|
||||
settings[RdsServerSettings.RDS_VIEW_WITHOUT_PERMISSION_Users] = cbViewSessionUsers.Checked.ToString();
|
||||
settings[RdsServerSettings.RDS_CONTROL_WITHOUT_PERMISSION_ADMINISTRATORS] = cbControlSessionAdministrators.Checked.ToString();
|
||||
settings[RdsServerSettings.RDS_CONTROL_WITHOUT_PERMISSION_Users] = cbControlSessionUsers.Checked.ToString();
|
||||
settings[RdsServerSettings.DISABLE_CMD_ADMINISTRATORS] = cbDisableCmdAdministrators.Checked.ToString();
|
||||
settings[RdsServerSettings.DISABLE_CMD_USERS] = cbDisableCmdUsers.Checked.ToString();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -31,13 +31,13 @@ namespace WebsitePanel.Portal {
|
|||
protected global::System.Web.UI.WebControls.Panel timeoutPanel;
|
||||
|
||||
/// <summary>
|
||||
/// txtTimeout control.
|
||||
/// ddTimeout control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtTimeout;
|
||||
protected global::System.Web.UI.WebControls.DropDownList ddTimeout;
|
||||
|
||||
/// <summary>
|
||||
/// cbTimeoutUsers control.
|
||||
|
@ -328,12 +328,120 @@ namespace WebsitePanel.Portal {
|
|||
protected global::System.Web.UI.WebControls.Panel driveSpacePanel;
|
||||
|
||||
/// <summary>
|
||||
/// txtThreshold control.
|
||||
/// ddTreshold control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtThreshold;
|
||||
protected global::System.Web.UI.WebControls.DropDownList ddTreshold;
|
||||
|
||||
/// <summary>
|
||||
/// secViewSession control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.CollapsiblePanel secViewSession;
|
||||
|
||||
/// <summary>
|
||||
/// viewSessionPanel control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Panel viewSessionPanel;
|
||||
|
||||
/// <summary>
|
||||
/// cbViewSessionUsers control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.CheckBox cbViewSessionUsers;
|
||||
|
||||
/// <summary>
|
||||
/// cbViewSessionAdministrators control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.CheckBox cbViewSessionAdministrators;
|
||||
|
||||
/// <summary>
|
||||
/// secControlSession control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.CollapsiblePanel secControlSession;
|
||||
|
||||
/// <summary>
|
||||
/// controlSessionPanel control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Panel controlSessionPanel;
|
||||
|
||||
/// <summary>
|
||||
/// cbControlSessionUsers control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.CheckBox cbControlSessionUsers;
|
||||
|
||||
/// <summary>
|
||||
/// cbControlSessionAdministrators control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.CheckBox cbControlSessionAdministrators;
|
||||
|
||||
/// <summary>
|
||||
/// secDisableCmd control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.CollapsiblePanel secDisableCmd;
|
||||
|
||||
/// <summary>
|
||||
/// disableCmdPanel control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Panel disableCmdPanel;
|
||||
|
||||
/// <summary>
|
||||
/// cbDisableCmdUsers control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.CheckBox cbDisableCmdUsers;
|
||||
|
||||
/// <summary>
|
||||
/// cbDisableCmdAdministrators control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.CheckBox cbDisableCmdAdministrators;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -71,9 +71,14 @@
|
|||
<td class="Normal"><wsp:Quota ID="quotaBlackBerryUsers" runat="server" QuotaName="BlackBerry.Users" DisplayGauge="True" /></td>
|
||||
</tr>
|
||||
<tr ID="pnlSharepointSites" runat="server">
|
||||
<td class="SubHead" nowrap><asp:Label ID="lblSharepointSites" runat="server" meta:resourcekey="lblSharepointSites" Text="Sharepoint Sites:"></asp:Label></td>
|
||||
<td class="SubHead" nowrap><asp:Label ID="lblSharepointSites" runat="server" meta:resourcekey="lblSharepointSites" Text="Sharepoint Foundation Sites:"></asp:Label></td>
|
||||
<td class="Normal"><wsp:Quota ID="quotaSharepointSites" runat="server" QuotaName="HostedSharePoint.Sites" DisplayGauge="True" /></td>
|
||||
</tr>
|
||||
<tr ID="pnlEnterpriseSharepointSites" runat="server">
|
||||
<td class="SubHead" nowrap><asp:Label ID="lblEnterpriseSharepointSites" runat="server" meta:resourcekey="lblEnterpriseSharepointSites" Text="Sharepoint Server Sites:"></asp:Label></td>
|
||||
<td class="Normal"><wsp:Quota ID="quotaEnterpriseSharepointSites" runat="server" QuotaName="HostedSharePointEnterprise.Sites" DisplayGauge="True" /></td>
|
||||
</tr>
|
||||
|
||||
<tr ID="pnlWebSites" runat="server">
|
||||
<td class="SubHead" nowrap><asp:Label ID="lblWebSites" runat="server" meta:resourcekey="lblWebSites" Text="Web Sites:"></asp:Label></td>
|
||||
<td class="Normal"><wsp:Quota ID="quotaWebSites" runat="server" QuotaName="Web.Sites" DisplayGauge="True" /></td>
|
||||
|
|
|
@ -66,14 +66,15 @@ namespace WebsitePanel.Portal
|
|||
{ "quotaOCSUsers", "pnlOCSUsers" },
|
||||
{ "quotaLyncUsers", "pnlLyncUsers" },
|
||||
{ "quotaBlackBerryUsers", "pnlBlackBerryUsers" },
|
||||
{ "quotaSharepointSites", "pnlSharepointSites" },
|
||||
{ "quotaSharepointSites", "pnlSharepointSites" },
|
||||
{ "quotaWebSites", "pnlWebSites" },
|
||||
{ "quotaDatabases", "pnlDatabases" },
|
||||
{ "quotaNumberOfVm", "pnlHyperVForPC" },
|
||||
{ "quotaFtpAccounts", "pnlFtpAccounts" },
|
||||
{ "quotaExchangeStorage", "pnlExchangeStorage" },
|
||||
{ "quotaNumberOfFolders", "pnlFolders" },
|
||||
{ "quotaEnterpriseStorage", "pnlEnterpriseStorage" }
|
||||
{ "quotaEnterpriseStorage", "pnlEnterpriseStorage" },
|
||||
{ "quotaEnterpriseSharepointSites", "pnlEnterpriseSharepointSites"}
|
||||
};
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
|
|
|
@ -1,31 +1,3 @@
|
|||
// Copyright (c) 2015, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
|
@ -454,6 +426,33 @@ namespace WebsitePanel.Portal {
|
|||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.Quota quotaSharepointSites;
|
||||
|
||||
/// <summary>
|
||||
/// pnlEnterpriseSharepointSites control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlTableRow pnlEnterpriseSharepointSites;
|
||||
|
||||
/// <summary>
|
||||
/// lblEnterpriseSharepointSites control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblEnterpriseSharepointSites;
|
||||
|
||||
/// <summary>
|
||||
/// quotaEnterpriseSharepointSites control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.Quota quotaEnterpriseSharepointSites;
|
||||
|
||||
/// <summary>
|
||||
/// pnlWebSites control.
|
||||
/// </summary>
|
||||
|
|
|
@ -27,6 +27,9 @@
|
|||
<div class="ToolLink">
|
||||
<asp:HyperLink ID="lnkVps" runat="server" meta:resourcekey="lnkVps" Text="Virtual Private Servers"></asp:HyperLink>
|
||||
</div>
|
||||
<div class="ToolLink">
|
||||
<asp:HyperLink ID="lnkVps2012" runat="server" meta:resourcekey="lnkVps2012" Text="Virtual Private Servers 2012"></asp:HyperLink>
|
||||
</div>
|
||||
<div class="ToolLink">
|
||||
<asp:HyperLink ID="lnkVpsForPC" runat="server" meta:resourcekey="lnkVpsForPC" Text="Virtual Private Servers for Private Cloud"></asp:HyperLink>
|
||||
</div>
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue