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/rospirotorg.ru/bitrix/modules/lpost.delivery/lib/entity/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/lpost.delivery/lib/entity/zonetable.php
<?php

namespace Lpost\Delivery\Entity;

use Bitrix\Main\Localization\Loc,
    Bitrix\Main\ORM\Data\DataManager,
    Bitrix\Main\ORM\Fields\BooleanField,
    Bitrix\Main\ORM\Fields\DatetimeField,
    Bitrix\Main\ORM\Fields\IntegerField,
    Bitrix\Main\ORM\Fields\StringField,
    Bitrix\Main\ORM\Fields\TextField,
    Bitrix\Main\ORM\Fields\FloatField,
    Bitrix\Main\ORM\Fields\Validators\LengthValidator,
    Bitrix\Main\Type\DateTime;

Loc::loadMessages(__FILE__);

/**
 * Class ZoneTable
 *
 * Fields:
 * <ul>
 * <li> id int mandatory
 * <li> id_pickup int mandatory
 * <li> time_work text optional
 * <li> id_region int mandatory
 * <li> zone text mandatory
 * <li> active bool ('N', 'Y') optional default 'Y'
 * <li> is_cash int mandatory
 * <li> is_card int mandatory
 * <li> city_name string(255) mandatory
 * <li> params text optional
 * <li> data_update datetime optional default current datetime
 * </ul>
 *
 * @package Bitrix\Delivery
 **/

class ZoneTable extends DataManager
{
    /**
     * Returns DB table name for entity.
     *
     * @return string
     */
    public static function getTableName()
    {
        return 'lpost_delivery_zone';
    }

    public static function getStorageTable()
    {
        return 'lpost_delivery_pickup_storage';
    }
    /**
     * Returns entity map definition.
     *
     * @return array
     */
    public static function getMap()
    {
        return [
            new IntegerField(
                'id',
                [
                    'primary' => true,
                    'autocomplete' => true,
                    'title' => Loc::getMessage('ZONE_ENTITY_ID_FIELD')
                ]
            ),
            new IntegerField(
                'id_pickup',
                [
                    'primary' => true,
                    'title' => Loc::getMessage('ZONE_ENTITY_ID_PICKUP_FIELD')
                ]
            ),
            new TextField(
                'time_work',
                [
                    'title' => Loc::getMessage('ZONE_ENTITY_TIME_WORK_FIELD')
                ]
            ),
            new IntegerField(
                'id_region',
                [
                    'required' => true,
                    'title' => Loc::getMessage('ZONE_ENTITY_ID_REGION_FIELD')
                ]
            ),
            new FloatField(
                'coord_lat',
                [
                    'default' => 0,
                    'title' => Loc::getMessage('ZONE_ENTITY_COORD_LAT_FIELD')
                ]
            ),
            new FloatField(
                'coord_long',
                [
                    'default' => 0,
                    'title' => Loc::getMessage('ZONE_ENTITY_COORD_LONG_FIELD')
                ]
            ),
            new TextField(
                'zone',
                [
                    'required' => true,
                    'title' => Loc::getMessage('ZONE_ENTITY_ZONE_FIELD')
                ]
            ),
            new BooleanField(
                'active',
                [
                    'values' => array('N', 'Y'),
                    'default' => 'Y',
                    'title' => Loc::getMessage('ZONE_ENTITY_ACTIVE_FIELD')
                ]
            ),
            new IntegerField(
                'is_cash',
                [
                    'required' => true,
                    'title' => Loc::getMessage('ZONE_ENTITY_IS_CASH_FIELD')
                ]
            ),
            new IntegerField(
                'is_card',
                [
                    'required' => true,
                    'title' => Loc::getMessage('ZONE_ENTITY_IS_CARD_FIELD')
                ]
            ),
            new IntegerField(
                'day_logistic',
                [
                    'required' => true,
                    'title' => Loc::getMessage('ZONE_ENTITY_DAY_LOGISTIC_FIELD')
                ]
            ),
            new StringField(
                'city_name',
                [
                    'required' => true,
                    'validation' => [__CLASS__, 'validateCityName'],
                    'title' => Loc::getMessage('ZONE_ENTITY_CITY_NAME_FIELD')
                ]
            ),
            new TextField(
                'params',
                [
                    'title' => Loc::getMessage('ZONE_ENTITY_PARAMS_FIELD'),
                    'save_data_modification' => function () {
                        return array(
                            function ($value) {
                                return serialize($value);
                            }
                        );
                    },
                    'fetch_data_modification' => function () {
                        return array(
                            function ($value) {
                                return isset($value) ? unserialize($value) : false;
                            }
                        );
                    }
                ]
            ),
            new DatetimeField(
                'data_update',
                [
                    'default' => function()
                    {
                        return new DateTime();
                    },
                    'title' => Loc::getMessage('ZONE_ENTITY_DATA_UPDATE_FIELD')
                ]
            ),
        ];
    }

    /**
     * Returns validators for city_name field.
     *
     * @return array
     */
    public static function validateCityName()
    {
        return [
            new LengthValidator(null, 255),
        ];
    }

    public static function deActive()
    {
        global $DB;
        return $DB->Query(
            "UPDATE " . self::getTableName()  . "as t1
            SET t1.active = 'N'
            WHERE t1.id_pickup NOT IN (SELECT `id_pickup` FROM " . self::getStorageTable() . ")",
            true
        );

    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit