403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /home/bitrix/ext_www/cvetdv.ru/bitrix/modules/acrit.import/lib/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/cvetdv.ru/bitrix/modules/acrit.import/lib/profile.php
<?php

namespace Acrit\Import;

use Bitrix\Main,
    Bitrix\Main\Localization\Loc;
Loc::loadMessages(__FILE__);

/**
 * Class ProfileTable
 *
 * Fields:
 * <ul>
 * <li> ID int mandatory
 * <li> ACTIVE bool optional default 'Y'
 * <li> NAME string(100) optional
 * <li> CODE string(100) optional
 * <li> DESCRIPTION string(255) optional
 * <li> ENCODING string(100) optional
 * <li> TYPE string(50) optional
 * <li> TIMESTAMP_X datetime mandatory default 'CURRENT_TIMESTAMP'
 * <li> START_LAST_TIME datetime optional
 * <li> IBLOCK_ID int mandatory
 * <li> DEFAULT_SECTION_ID int optional
 * <li> SOURCE string(255) mandatory
 * <li> SOURCE_TYPE string(255) optional
 * <li> SOURCE_LOGIN string(255) optional
 * <li> SOURCE_KEY string(255) optional
 * <li> SOURCE_DELIMITER string(255) optional
 * <li> SOURCE_ROOT_LEVEL int mandatory
 * <li> SOURCE_ROOT_ITEM string(255) mandatory
 * <li> SOURCE_PARAM_1 string(255) optional
 * <li> SOURCE_PARAM_2 string(255) optional
 * <li> SOURCE_PARAM_3 text optional
 * <li> ELEMENT_IDENTIFIER string(255) mandatory
 * <li> IMGS_SOURCE_TYPE string(50) mandatory
 * <li> IMGS_SOURCE_PATH string(255) mandatory
 * <li> ACTIONS_NOT_IN_FILE string(50) mandatory
 * <li> ACTIONS_NEW_ELEMENTS string(50) mandatory
 * <li> ACTIONS_EXIST_ELEMENTS string(50) mandatory
 * <li> ACTIONS_PRICE_NULL bool optional default 'N'
 * <li> ACTIONS_AMOUNT_NULL bool optional default 'N'
 * <li> ACTIONS_SECTIONS_LINK string(50) mandatory
 * <li> ACTIONS_SECTIONS_CREATE bool optional default 'Y'
 * <li> ACTIONS_IB_IMG_MODIF bool optional default 'N'
 * <li> SCHEDULE_DURATION int mandatory
 * <li> SCHEDULE_PERIOD int mandatory
 * </ul>
 *
 * @package Bitrix\Import
 **/

class ProfileTable extends Main\Entity\DataManager
{
    /**
     * Returns DB table name for entity.
     *
     * @return string
     */
    public static function getTableName()
    {
        return 'acrit_import_profile';
    }

    /**
     * Returns entity map definition.
     *
     * @return array
     */
    public static function getMap()
    {
        return array(
            'ID' => array(
                'data_type' => 'integer',
                'primary' => true,
                'autocomplete' => true,
                'title' => Loc::getMessage('PROFILE_ENTITY_ID_FIELD'),
            ),
            'ACTIVE' => array(
                'data_type' => 'boolean',
                'values' => array('N', 'Y'),
                'title' => Loc::getMessage('PROFILE_ENTITY_ACTIVE_FIELD'),
            ),
            'NAME' => array(
                'data_type' => 'string',
                'validation' => array(__CLASS__, 'validateName'),
                'title' => Loc::getMessage('PROFILE_ENTITY_NAME_FIELD'),
            ),
            'CODE' => array(
                'data_type' => 'string',
                'validation' => array(__CLASS__, 'validateCode'),
                'title' => Loc::getMessage('PROFILE_ENTITY_CODE_FIELD'),
            ),
            'DESCRIPTION' => array(
                'data_type' => 'string',
                'validation' => array(__CLASS__, 'validateDescription'),
                'title' => Loc::getMessage('PROFILE_ENTITY_DESCRIPTION_FIELD'),
            ),
            'ENCODING' => array(
                'data_type' => 'string',
                'validation' => array(__CLASS__, 'validateEncoding'),
                'title' => Loc::getMessage('PROFILE_ENTITY_ENCODING_FIELD'),
            ),
            'TYPE' => array(
                'data_type' => 'string',
                'validation' => array(__CLASS__, 'validateType'),
                'title' => Loc::getMessage('PROFILE_ENTITY_TYPE_FIELD'),
            ),
            'TIMESTAMP_X' => array(
                'data_type' => 'datetime',
                'title' => Loc::getMessage('PROFILE_ENTITY_TIMESTAMP_X_FIELD'),
            ),
            'START_LAST_TIME' => array(
                'data_type' => 'datetime',
                'title' => Loc::getMessage('PROFILE_ENTITY_START_LAST_TIME_FIELD'),
            ),
            'IBLOCK_ID' => array(
                'data_type' => 'integer',
                'required' => true,
                'title' => Loc::getMessage('PROFILE_ENTITY_IBLOCK_ID_FIELD'),
            ),
            'DEFAULT_SECTION_ID' => array(
                'data_type' => 'integer',
                'title' => Loc::getMessage('PROFILE_ENTITY_DEFAULT_SECTION_ID_FIELD'),
            ),
            'SOURCE' => array(
                'data_type' => 'string',
                'required' => true,
                'validation' => array(__CLASS__, 'validateSource'),
                'title' => Loc::getMessage('PROFILE_ENTITY_SOURCE_FIELD'),
            ),
            'SOURCE_TYPE' => array(
                'data_type' => 'string',
                'validation' => array(__CLASS__, 'validateSourceType'),
                'title' => Loc::getMessage('PROFILE_ENTITY_SOURCE_TYPE_FIELD'),
            ),
            'SOURCE_LOGIN' => array(
                'data_type' => 'string',
                'validation' => array(__CLASS__, 'validateSourceLogin'),
                'title' => Loc::getMessage('PROFILE_ENTITY_SOURCE_LOGIN_FIELD'),
            ),
            'SOURCE_KEY' => array(
                'data_type' => 'string',
                'validation' => array(__CLASS__, 'validateSourceKey'),
                'title' => Loc::getMessage('PROFILE_ENTITY_SOURCE_KEY_FIELD'),
            ),
            'SOURCE_DELIMITER' => array(
                'data_type' => 'string',
                'validation' => array(__CLASS__, 'validateSourceDelimiter'),
                'title' => Loc::getMessage('PROFILE_ENTITY_SOURCE_DELIMITER_FIELD'),
            ),
            'SOURCE_ROOT_LEVEL' => array(
                'data_type' => 'integer',
                'title' => Loc::getMessage('PROFILE_ENTITY_SOURCE_ROOT_LEVEL_FIELD'),
            ),
            'SOURCE_ROOT_ITEM' => array(
                'data_type' => 'string',
                'validation' => array(__CLASS__, 'validateSourceRootItem'),
                'title' => Loc::getMessage('PROFILE_ENTITY_SOURCE_ROOT_ITEM_FIELD'),
            ),
            'SOURCE_PARAM_1' => array(
                'data_type' => 'string',
                'validation' => array(__CLASS__, 'validateSourceParam1'),
                'title' => Loc::getMessage('PROFILE_ENTITY_SOURCE_PARAM_1_FIELD'),
            ),
            'SOURCE_PARAM_2' => array(
                'data_type' => 'string',
                'validation' => array(__CLASS__, 'validateSourceParam2'),
                'title' => Loc::getMessage('PROFILE_ENTITY_SOURCE_PARAM_2_FIELD'),
            ),
            'SOURCE_PARAM_3' => array(
                'data_type' => 'string',
                'save_data_modification' => array(__CLASS__, 'saveModFieldParam3'),
                'fetch_data_modification' => array(__CLASS__, 'fetchModFieldParam3'),
                'title' => Loc::getMessage('PROFILE_ENTITY_SOURCE_PARAM_3_FIELD'),
            ),
            'ELEMENT_IDENTIFIER' => array(
                'data_type' => 'string',
                'validation' => array(__CLASS__, 'validateElementIdentifier'),
                'title' => Loc::getMessage('PROFILE_ENTITY_ELEMENT_IDENTIFIER_FIELD'),
            ),
            'IMGS_SOURCE_TYPE' => array(
                'data_type' => 'string',
                'validation' => array(__CLASS__, 'validateImgsSourceType'),
                'title' => Loc::getMessage('PROFILE_ENTITY_IMGS_SOURCE_TYPE_FIELD'),
            ),
            'IMGS_SOURCE_PATH' => array(
                'data_type' => 'string',
                'validation' => array(__CLASS__, 'validateImgsSourcePath'),
                'title' => Loc::getMessage('PROFILE_ENTITY_IMGS_SOURCE_PATH_FIELD'),
            ),
            'ACTIONS_NOT_IN_FILE' => array(
                'data_type' => 'string',
                'validation' => array(__CLASS__, 'validateActionsNotInFile'),
                'title' => Loc::getMessage('PROFILE_ENTITY_ACTIONS_NOT_IN_FILE_FIELD'),
            ),
            'ACTIONS_NEW_ELEMENTS' => array(
                'data_type' => 'string',
                'validation' => array(__CLASS__, 'validateActionsNewElements'),
                'title' => Loc::getMessage('PROFILE_ENTITY_ACTIONS_NEW_ELEMENTS_FIELD'),
            ),
            'ACTIONS_EXIST_ELEMENTS' => array(
                'data_type' => 'string',
                'validation' => array(__CLASS__, 'validateActionsExistElements'),
                'title' => Loc::getMessage('PROFILE_ENTITY_ACTIONS_EXIST_ELEMENTS_FIELD'),
            ),
            'ACTIONS_PRICE_NULL' => array(
                'data_type' => 'boolean',
                'values' => array('N', 'Y'),
                'title' => Loc::getMessage('PROFILE_ENTITY_ACTIONS_PRICE_NULL_FIELD'),
            ),
            'ACTIONS_AMOUNT_NULL' => array(
                'data_type' => 'boolean',
                'values' => array('N', 'Y'),
                'title' => Loc::getMessage('PROFILE_ENTITY_ACTIONS_AMOUNT_NULL_FIELD'),
            ),
            'ACTIONS_SECTIONS_LINK' => array(
                'data_type' => 'string',
                'validation' => array(__CLASS__, 'validateActionsSectionsLink'),
                'title' => Loc::getMessage('PROFILE_ENTITY_ACTIONS_SECTIONS_LINK_FIELD'),
            ),
            'ACTIONS_SECTIONS_CREATE' => array(
                'data_type' => 'boolean',
                'values' => array('N', 'Y'),
                'title' => Loc::getMessage('PROFILE_ENTITY_ACTIONS_SECTIONS_CREATE_FIELD'),
            ),
            'ACTIONS_IB_IMG_MODIF' => array(
                'data_type' => 'boolean',
                'values' => array('N', 'Y'),
                'title' => Loc::getMessage('PROFILE_ENTITY_ACTIONS_IB_IMG_MODIF_FIELD'),
            ),
            'SCHEDULE_DURATION' => array(
                'data_type' => 'integer',
                'title' => Loc::getMessage('PROFILE_ENTITY_SCHEDULE_DURATION_FIELD'),
            ),
            'SCHEDULE_PERIOD' => array(
                'data_type' => 'integer',
                'title' => Loc::getMessage('PROFILE_ENTITY_SCHEDULE_PERIOD_FIELD'),
            ),
        );
    }
    /**
     * Returns validators for NAME field.
     *
     * @return array
     */
    public static function validateName()
    {
        return array(
            new Main\Entity\Validator\Length(null, 100),
        );
    }
    /**
     * Returns validators for CODE field.
     *
     * @return array
     */
    public static function validateCode()
    {
        return array(
            new Main\Entity\Validator\Length(null, 100),
        );
    }
    /**
     * Returns validators for DESCRIPTION field.
     *
     * @return array
     */
    public static function validateDescription()
    {
        return array(
            new Main\Entity\Validator\Length(null, 255),
        );
    }
    /**
     * Returns validators for ENCODING field.
     *
     * @return array
     */
    public static function validateEncoding()
    {
        return array(
            new Main\Entity\Validator\Length(null, 100),
        );
    }
    /**
     * Returns validators for TYPE field.
     *
     * @return array
     */
    public static function validateType()
    {
        return array(
            new Main\Entity\Validator\Length(null, 50),
        );
    }
    /**
     * Returns validators for SOURCE field.
     *
     * @return array
     */
    public static function validateSource()
    {
        return array(
            new Main\Entity\Validator\Length(null, 255),
        );
    }
    /**
     * Returns validators for SOURCE_TYPE field.
     *
     * @return array
     */
    public static function validateSourceType()
    {
        return array(
            new Main\Entity\Validator\Length(null, 255),
        );
    }
    /**
     * Returns validators for SOURCE_LOGIN field.
     *
     * @return array
     */
    public static function validateSourceLogin()
    {
        return array(
            new Main\Entity\Validator\Length(null, 255),
        );
    }
    /**
     * Returns validators for SOURCE_KEY field.
     *
     * @return array
     */
    public static function validateSourceKey()
    {
        return array(
            new Main\Entity\Validator\Length(null, 255),
        );
    }
    /**
     * Returns validators for SOURCE_DELIMITER field.
     *
     * @return array
     */
    public static function validateSourceDelimiter()
    {
        return array(
            new Main\Entity\Validator\Length(null, 255),
        );
    }
    /**
     * Returns validators for SOURCE_ROOT_ITEM field.
     *
     * @return array
     */
    public static function validateSourceRootItem()
    {
        return array(
            new Main\Entity\Validator\Length(null, 255),
        );
    }
    /**
     * Returns validators for SOURCE_PARAM_1 field.
     *
     * @return array
     */
    public static function validateSourceParam1()
    {
        return array(
            new Main\Entity\Validator\Length(null, 255),
        );
    }
    /**
     * Returns validators for SOURCE_PARAM_2 field.
     *
     * @return array
     */
    public static function validateSourceParam2()
    {
        return array(
            new Main\Entity\Validator\Length(null, 255),
        );
    }
    /**
     * Returns validators for ELEMENT_IDENTIFIER field.
     *
     * @return array
     */
    public static function validateElementIdentifier()
    {
        return array(
            new Main\Entity\Validator\Length(null, 255),
        );
    }
    /**
     * Returns validators for IMGS_SOURCE_TYPE field.
     *
     * @return array
     */
    public static function validateImgsSourceType()
    {
        return array(
            new Main\Entity\Validator\Length(null, 50),
        );
    }
    /**
     * Returns validators for IMGS_SOURCE_PATH field.
     *
     * @return array
     */
    public static function validateImgsSourcePath()
    {
        return array(
            new Main\Entity\Validator\Length(null, 255),
        );
    }
    /**
     * Returns validators for ACTIONS_NOT_IN_FILE field.
     *
     * @return array
     */
    public static function validateActionsNotInFile()
    {
        return array(
            new Main\Entity\Validator\Length(null, 50),
        );
    }
    /**
     * Returns validators for ACTIONS_NEW_ELEMENTS field.
     *
     * @return array
     */
    public static function validateActionsNewElements()
    {
        return array(
            new Main\Entity\Validator\Length(null, 50),
        );
    }
    /**
     * Returns validators for ACTIONS_EXIST_ELEMENTS field.
     *
     * @return array
     */
    public static function validateActionsExistElements()
    {
        return array(
            new Main\Entity\Validator\Length(null, 50),
        );
    }
    /**
     * Returns validators for ACTIONS_SECTIONS_LINK field.
     *
     * @return array
     */
    public static function validateActionsSectionsLink()
    {
        return array(
            new Main\Entity\Validator\Length(null, 50),
        );
    }

    public static function onAfterUpdate(Main\Entity\Event $event)
    {
        $result = new Main\Entity\EventResult;
        $arMainData = $event->getParameter("primary");
        $arChangeData = $event->getParameter("fields");
//        // Schedule
//        if ($arMainData['ID'] && $arChangeData['SCHEDULE_PERIOD']) {
//            \Acrit\Import\Agents::add($arMainData['ID'], $arChangeData['SCHEDULE_PERIOD'] * 60);
//        }

        return $result;
    }

    public static function saveModFieldParam3() {
	    return [
		    function ($value) {
			    return serialize($value);
		    }
	    ];
    }

    public static function fetchModFieldParam3() {
	    return [
		    function ($value) {
			    return unserialize($value);
		    }
	    ];
    }

//	public static function update($primary, array $data) {
//	    if ($data['SOURCE_PARAM_3']) {
//		    $data['SOURCE_PARAM_3'] = serialize($data['SOURCE_PARAM_3']);
//	    }
//	    return parent::update($primary, $data);
//    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit