CheckContentOnErrors() public static method

Метод проверки контента страницы на ошибки
public static CheckContentOnErrors ( ) : void
return void
Example #1
0
        /// <summary>
        /// Метод проверки компонентов
        /// </summary>
        /// <param name="edition">тип редакции установки</param>
        /// <param name="dbType">тип БД</param>
        public static void Run(string edition, string dbType)
        {
            List <DirectoryInfo> folders = new List <DirectoryInfo>();
            string        PathToDistr    = Options.GetOption("/Options/PathToFolderWhereToInstall/edition[@title='" + edition + "']/" + dbType);
            string        urlToCheck     = "http://" + Options.GetOption("/Options/URLS/edition[@title='" + edition + "']/" + dbType);
            string        searchPrefix   = MainForm.form.tbComponentsCheckPrefix.Text.Trim();
            DirectoryInfo targetDir      = new DirectoryInfo(PathToDistr + "bitrix\\components\\bitrix\\");

            Log.MesNormal("Проверка всех компонентов установки");

            //получаем все компоненты (имена папок)
            if (searchPrefix != "")
            {
                foreach (DirectoryInfo d in targetDir.GetDirectories("*" + searchPrefix + "*"))
                {
                    folders.Add(d);
                }
            }
            else
            {
                foreach (DirectoryInfo d in targetDir.GetDirectories())
                {
                    folders.Add(d);
                }
            }

            BitrixFramework.OpenURL(urlToCheck, CheckPageOnErrors: false);

            if (MainForm.form.tbCheckComponentsLogin.Text.Trim() != " " && MainForm.form.tbCheckComponentsPassword.Text.Trim() != "")
            {
                Case_General_Login.LoginAdminArea(MainForm.form.tbCheckUrlsLogin.Text.Trim(), MainForm.form.tbCheckUrlsPass.Text.Trim());
            }

            //для каждого компонента создаем отдельный файл php с именем компонента, в котором размещается код вызова компонента
            foreach (var componentsFolder in folders)
            {
                //создаем папку CTest, если нет
                if (!Directory.Exists(PathToDistr + "CTest"))
                {
                    Directory.CreateDirectory(PathToDistr + "CTest");
                }

                //удалем файл с именем компонента, если есть
                if (File.Exists(PathToDistr + "CTest\\" + componentsFolder.ToString() + ".php"))
                {
                    File.Delete(PathToDistr + "CTest\\" + componentsFolder.ToString() + ".php");
                }

                File.AppendAllText(PathToDistr + "CTest\\" + componentsFolder.ToString() + ".php",
                                   "<?require($_SERVER[\"DOCUMENT_ROOT\"].\"/bitrix/header.php\");$APPLICATION->SetTitle(\"Тест компонента без параметров: bitrix:" +
                                   componentsFolder.ToString() + "\");?> <?$APPLICATION->IncludeComponent(\"bitrix:" + componentsFolder.ToString() +
                                   "\", \"\", Array(), false);?><?require($_SERVER[\"DOCUMENT_ROOT\"].\"/bitrix/footer.php\");?>");
                if (MainForm.form.cbComponentsCheckPageOnErrors.Checked)
                {
                    BitrixFramework.OpenURL(urlToCheck + "/ctest/" + componentsFolder.ToString() + ".php", false);
                }
                else
                {
                    BitrixFramework.OpenURL(urlToCheck + "/ctest/" + componentsFolder.ToString() + ".php", false, false);
                    GM.CheckContentOnErrors();
                }
                Log.MesNormal("компонент - bitrix:" + componentsFolder.ToString() + " проверен");
            }

            Log.Gap();
            Log.MesNormal("Все компоненты проверены. Всего компонентов: " + folders.Count);
        }