public function uninstallDB() { if (Loader::includeModule($this->MODULE_ID)) { $connection = Application::getInstance()->getConnection(); $connection->dropTable(LotinfoConfigTable::getTableName()); $connection->dropTable(LotinfoFieldsToPropsTable::getTableName()); $connection->dropTable(LotinfoTypeToIBlockTable::getTableName()); } }
LocalRedirect($_SERVER['SCRIPT_NAME']); } } else { foreach ($res->getErrorMessages() as $error_message) { $message = new CAdminMessage($error_message); break; } $bVarsFromForm = true; } } // ******************************************************************** // // ВЫБОРКА И ПОДГОТОВКА ДАННЫХ ФОРМЫ // // ******************************************************************** // // выборка данных if ($ID > 0) { $arPage = LotinfoFieldsToPropsTable::getById($ID)->fetch(); $APPLICATION->SetTitle("Edit {$arPage['URL']}"); } // ******************************************************************** // // ВЫВОД ФОРМЫ // // ******************************************************************** // // не забудем разделить подготовку данных и вывод require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php"; // конфигурация административного меню $aMenu = [["TEXT" => "Список", "TITLE" => "Список", "LINK" => "lotinfo_props.php", "ICON" => "btn_list"], ["TEXT" => "Удалить", "TITLE" => "Удалить", "LINK" => "javascript:if(confirm('" . "Да, прошу вас" . "')) window.location=" . $_SERVER['SCRIPT_NAME'] . "'?ID=" . $ID . "&action=delete&lang=" . LANGUAGE_ID . "&" . bitrix_sessid_get() . "';", "ICON" => "btn_delete"]]; // создание экземпляра класса административного меню $context = new CAdminContextMenu($aMenu); // вывод административного меню $context->Show(); ?>
switch ($_REQUEST['action']) { case "delete": LotinfoFieldsToPropsTable::delete($ID); break; } } } $iblockID = COption::GetOptionInt(ADMIN_MODULE_NAME, 'IBLOCK_ID'); if ($iblockID) { $arProps = []; $propsOb = \Bitrix\Iblock\PropertyTable::getList(['filter' => ['IBLOCK_ID' => $iblockID, 'ACTIVE' => 'Y'], 'select' => ['NAME', 'CODE']]); while ($props = $propsOb->fetch()) { $arProps[$props['CODE']] = $props['NAME']; } } $obGroups = LotinfoFieldsToPropsTable::getList(['order' => ['ID' => 'ASC']]); $obGroups = new CAdminResult($obGroups, $listTableId); $obGroups->NavStart(); $adminList->NavText($obGroups->GetNavPrint("Разделы")); $colHeaders = [["id" => 'ID', "content" => 'ID', "sort" => 1, "default" => true], ["id" => 'LOTINFO_FIELD', "content" => Loc::getMessage("PROPS_EDIT_LOTINFO_FIELD"), "sort" => 2, "default" => true], ["id" => 'PROP_ID', "content" => Loc::getMessage('PROPS_EDIT_PROP_ID'), "sort" => 3, "default" => true], ["id" => 'FIELD_ID', "content" => Loc::getMessage('PROPS_EDIT_FIELD_ID'), "sort" => 3, "default" => true]]; $adminList->AddHeaders($colHeaders); $visibleHeaderColumns = $adminList->GetVisibleHeaderColumns(); $arUsersCache = []; while ($arRes = $obGroups->GetNext()) { $row =& $adminList->AddRow($arRes["ID"], $arRes); $arActions = [["ICON" => "delete", "TEXT" => "Удалить", "ACTION" => $adminList->ActionDoGroup($arRes["ID"], "delete")], ["ICON" => "edit", "TEXT" => "Редактировать", "ACTION" => $adminList->ActionRedirect("lotinfo_props_edit.php?ID=" . $arRes["ID"] . "&lang=" . LANGUAGE_ID), "DEFAULT" => true]]; $row->AddActions($arActions); } $adminList->AddFooter([["title" => "Всего", "value" => $obGroups->SelectedRowsCount()], ["counter" => true, "title" => "Отмечено", "value" => "0"]]); $adminList->AddGroupActionTable(["delete" => "Удалить"]); $aContext = [["TEXT" => GetMessage("MAIN_ADD"), "LINK" => "lotinfo_props_edit.php", "TITLE" => GetMessage("POST_ADD_TITLE"), "ICON" => "btn_new"]];