Поддержка серверов

CForm::Delete: метод Битрикс

Постоянная ссылка: http://bxapi.ru/src/?id=176980

<?php 
//    CForm::Delete()
//    /bitrix/modules/form/classes/general/form_callform.php:1694

    
public static function Delete($ID$CHECK_RIGHTS="Y")
    {
        global 
$DB$strError;
        
$err_mess = (CAllForm::err_mess())."<br>Function: Delete<br>Line: ";
        
$ID intval($ID);

        if (
$CHECK_RIGHTS!="Y" || CForm::IsAdmin())
        {
            
// delete form results
            
if (CForm::Reset($ID"N"))
            {
                
// delete temporary template
                
$tmp_filename $_SERVER["DOCUMENT_ROOT"].BX_PERSONAL_ROOT."/tmp/form/form_".$ID.".php";
                if (
file_exists($tmp_filename)) @unlink($tmp_filename);

                
// delete form statuses
                
$rsStatuses CFormStatus::GetList($ID$by$order$arFilter$is_filtered);
                while (
$arStatus $rsStatuses->Fetch()) CFormStatus::Delete($arStatus["ID"], "N");

                
// delete from fields & questions
                
$rsFields CFormField::GetList($ID"ALL"$by$order, array(), $is_filtered);
                while (
$arField $rsFields->Fetch()) CFormField::Delete($arField["ID"], "N");

                
// delete form image
                
$strSql "SELECT IMAGE_ID FROM b_form WHERE ID='$ID' and IMAGE_ID>0";
                
$z $DB->Query($strSqlfalse$err_mess.__LINE__);
                while (
$zr $z->Fetch()) CFile::Delete($zr["IMAGE_ID"]);

                
// delete mail event type and mail templates, assigned to the current form
                
$q CForm::GetByID($ID);
                
$qr $q->Fetch();
                if (
strlen(trim($qr["MAIL_EVENT_TYPE"]))>0)
                {
                    
// delete mail templates
                    
$em = new CEventMessage;
                    
$e $em->GetList($by="id",$order="desc",array("EVENT_NAME"=>$qr["MAIL_EVENT_TYPE"], "EVENT_NAME_EXACT_MATCH" => "Y"));
                    while (
$er=$e->Fetch()) $em->Delete($er["ID"]);

                    
// delete mail event type
                    
$et = new CEventType;
                    
$et->Delete($qr["MAIL_EVENT_TYPE"]);
                }

                
// delete site assignment
                
$DB->Query("DELETE FROM b_form_2_site WHERE FORM_ID='$ID'"false$err_mess.__LINE__);

                
// delete mail templates assignment
                
$DB->Query("DELETE FROM b_form_2_mail_template WHERE FORM_ID='$ID'"false$err_mess.__LINE__);

                
// delete form menu
                
$DB->Query("DELETE FROM b_form_menu WHERE FORM_ID='$ID'"false$err_mess.__LINE__);

                
// delete from rights
                
$DB->Query("DELETE FROM b_form_2_group WHERE FORM_ID='$ID'"false$err_mess.__LINE__);

                
// and finally delete form
                
$DB->Query("DELETE FROM b_form WHERE ID='$ID'"false$err_mess.__LINE__);

                return 
true;
            }
        }
        else 
$strError .= GetMessage("FORM_ERROR_ACCESS_DENIED")."<br>";
        return 
false;
    }

Блог разработчика

9 августа 2016 ResizeImageGet и простой водяной знак налету

Сегодня поговорим о том как проще всего воткнуть водяной знак на картинки в Битрикс. Например, на все изображения каталога.

21 июля 2016 Добавление вкладки в CRM коробки Битрикс24

В этом посте я покажу, как легко и просто добавить вкладку в сущность CRM. И не просто добавить, а вывести там свой контент.

21 июля 2016 Как просто обращаться из коробки Битрикс24 на сайт на базе Битрикс

К примеру вам хочется внутренним скриптом дернуть с сайта-магазина информацию, которая там, в свою очередь, закрыта некоторыми правами. Например, админскими. Можно конечно мутить свой REST, или иной формат общения, но проще всего воспользоваться штатным инструментом:

Текст сообщения*
Загрузить изображение