uawdijnntqw1x1x1
IP : 13.58.175.32
Hostname : axolotl
Kernel : Linux axolotl 4.9.0-13-amd64 #1 SMP Debian 4.9.228-1 (2020-07-05) x86_64
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
OS : Linux
PATH:
/
var
/
www
/
axolotl
/
data
/
www
/
rostov.axolotls.ru
/
bitrix
/
modules
/
disk
/
lib
/
internals
/
file.php
/
/
<?php namespace Bitrix\Disk\Internals; use Bitrix\Disk\TypeFile; use Bitrix\Main\Application; use Bitrix\Main\Entity; use Bitrix\Main\Entity\FieldError; use Bitrix\Main\Entity\Result; use Bitrix\Main\Entity\UpdateResult; use Bitrix\Main\Localization\Loc; final class FileTable extends ObjectTable { const TYPE = ObjectTable::TYPE_FILE; public static function getMap() { $map = parent::getMap(); $map['TYPE']['validation'] = array(__CLASS__, 'validateType'); $map['TYPE_FILE']['required'] = true; $map['PARENT_ID']['required'] = true; $map['NAME']['required'] = true; return $map; } public static function validateName() { return array( new Entity\Validator\Length(1, 255), ); } public static function add(array $data) { if(!isset($data['TYPE_FILE'])) { $data['TYPE_FILE'] = TypeFile::getByFilename($data['NAME']); } $data['TYPE'] = static::TYPE; return parent::add($data); } public static function validateTypeLogic($value) { return $value == static::TYPE; } public static function validateType() { return array( array(__CLASS__, 'validateTypeLogic') ); } public static function checkFields(Result $result, $primary, array $data) { if($result instanceof Entity\AddResult) { if( isset($data['REAL_OBJECT_ID']) && isset($data['FILE_ID']) && !empty($data['REAL_OBJECT_ID']) && !empty($data['FILE_ID']) && $data['REAL_OBJECT_ID'] != $data['ID'] ) { $field = static::getEntity()->getField('FILE_ID'); $result->addError(new FieldError( $field, Loc::getMessage("DISK_OBJECT_ENTITY_ERROR_LINK_FILE_ID", array("#FIELD#" => $field->getTitle())) )); } if( isset($data['FILE_ID']) && empty($data['REAL_OBJECT_ID']) && empty($data['FILE_ID']) ) { $field = static::getEntity()->getField('FILE_ID'); $result->addError(new FieldError( $field, Loc::getMessage("DISK_OBJECT_ENTITY_ERROR_REQUIRED_FILE_ID", array("#FIELD#" => $field->getTitle())) )); } } parent::checkFields($result, $primary, $data); } /** * Changes file storage id. Be careful! The method is too specific. * @param $primary * @param $newStorageId * @return UpdateResult * @throws \Bitrix\Main\ArgumentException * @internal */ public static function changeStorageId($primary, $newStorageId) { $newStorageId = (int)$newStorageId; // check primary static::normalizePrimary($primary); static::validatePrimary($primary); // save data $connection = Application::getConnection(); $helper = $connection->getSqlHelper(); $tableName = static::getEntity()->getDBTableName(); $update = $helper->prepareUpdate($tableName, array('STORAGE_ID' => $newStorageId)); $id = array(); foreach ($primary as $k => $v) { $id[] = $helper->prepareAssignment($tableName, $k, $v); } $where = implode(' AND ', $id); $sql = "UPDATE ".$tableName." SET ".$update[0]." WHERE ".$where; $connection->queryExecute($sql, $update[1]); $result = new UpdateResult(); $result->setAffectedRowsCount($connection); $result->setData(array('PARENT_ID' => $newStorageId)); return $result; } }
/var/www/axolotl/data/www/rostov.axolotls.ru/bitrix/modules/disk/lib/internals/file.php