Exemplo n.º 1
0
        private void ProbeSystem()
        {
            WritePageContent(
                SetupResource.ProbingSystemMessage,
                false);

            dbPlatform           = DatabaseHelper.DBPlatform();
            dataFolderIsWritable = CSetup.DataFolderIsWritable();

            if (dataFolderIsWritable)
            {
                WritePageContent(
                    SetupResource.FileSystemPermissionsOKMesage,
                    false);
            }
            else
            {
                WritePageContent(
                    SetupResource.FileSystemPermissionProblemsMessage,
                    false);

                WritePageContent(
                    String.Format("<div>{0}</div>", GetFolderDetailsHtml()),
                    false);
            }

            canAccessDatabase = DatabaseHelper.CanAccessDatabase();

            if (canAccessDatabase)
            {
                WritePageContent(
                    dbPlatform
                    + " " + SetupResource.DatabaseConnectionOKMessage,
                    false);
            }
            else
            {
                string dbError = string.Format(
                    SetupResource.FailedToConnectToDatabase,
                    dbPlatform);

                WritePageContent(String.Format("<div>{0}</div>", dbError), false);

                showConnectionError = ConfigHelper.GetBoolProperty("ShowConnectionErrorOnSetup", false);


                if (showConnectionError)
                {
                    WritePageContent(
                        String.Format("<div>{0}</div>", DatabaseHelper.GetConnectionError(null)),
                        false);
                }
            }


            if (canAccessDatabase)
            {
                canAlterSchema = DatabaseHelper.CanAlterSchema(null);

                if (canAlterSchema)
                {
                    WritePageContent(
                        SetupResource.DatabaseCanAlterSchemaMessage,
                        false);
                }
                else
                {
                    WritePageContent(
                        String.Format("<div>{0}</div>", SetupResource.CantAlterSchemaWarning),
                        false);
                }

                schemaHasBeenCreated = DatabaseHelper.SchemaHasBeenCreated();

                if (schemaHasBeenCreated)
                {
                    WritePageContent(
                        SetupResource.DatabaseSchemaAlreadyExistsMessage,
                        false);


                    needSchemaUpgrade = CSetup.UpgradeIsNeeded();

                    if (needSchemaUpgrade)
                    {
                        WritePageContent(
                            SetupResource.DatabaseSchemaNeedsUpgradeMessage,
                            false);
                    }
                    else
                    {
                        WritePageContent(
                            SetupResource.DatabaseSchemaUpToDateMessage,
                            false);
                    }

                    existingSiteCount = DatabaseHelper.ExistingSiteCount();

                    WritePageContent(
                        string.Format(
                            SetupResource.ExistingSiteCountMessageMessage,
                            existingSiteCount.ToString()),
                        false);
                }
                else
                {
                    WritePageContent(
                        SetupResource.DatabaseSchemaNotCreatedYetMessage,
                        false);
                }
            }

            if (!CSetup.RunningInFullTrust())
            {
                // inform of Medium trust configuration issues
                WritePageContent(
                    String.Format("<b>{0}</b><br />{1}<br /><br />", SetupResource.MediumTrustGeneralMessage, GetDataAccessMediumTrustMessage()),
                    false);
            }
        }