Версия: 6.x
burger close
Класс FileApi
Граф наследования:FileApi:
EntityList BaseModel

Подробное описание

Класс для организации выборок ORM объекта. В этом классе рекомендуется также реализовывать любые дополнительные методы, связанные с заявленной в конструкторе моделью

Открытые члены

 __construct ()
 
 uploadFromPost ($files, FilesType\AbstractType $type_class, $link_id)
 
 uploadFromUrl ($file_path, FilesType\AbstractType $type_class, $link_id, $display_name=null, $upload_type=self::UPLOAD_TYPE_COPY, $info=[])
 
 uploadFromData ($data, FilesType\AbstractType $type_class, $link_id, $display_name=null, $info=[])
 
 canUploadFile ($file_path, FilesType\AbstractType $type_class, $display_name=null)
 
 getFile ($id, $site_id=null)
 
 deleteFiles ($ids, $site_id=null)
 
 changeAccess ($id, $access, $site_id=null)
 
 moveFileElement ($from, $to, $flag, FilesType\AbstractType $type_class, $link_id)
 
 cleanOldUnlinkedFiles ()
 
- Открытые члены унаследованные от EntityList
 __construct (AbstractObject $orm_element, array $options=[])
 
 setDefaultOrder ($order)
 
 getNameField ()
 
 setNameField ($field)
 
 setAliasField ($field)
 
 setSortField ($field)
 
 setIdField ($field)
 
 getIdField ()
 
 getSiteIdField ()
 
 setLoadOnDelete ($bool)
 
 setSiteContext ($site_id=null)
 
 getSiteContext ()
 
 setMultisite ($bool)
 
 isMultisite ()
 
 resetQueryObject ()
 
 getCleanQueryObject ()
 
 queryObj ()
 
 setQueryObj (\RS\Orm\Request $q)
 
 defAlias ()
 
 setFilter ($key, $value=null, $type= '=', $prefix= 'AND', array $options=[])
 
 clearFilter ()
 
 getList ($page=null, $page_size=null, $order=null)
 
 getListAsArray ($page=0, $page_size=0, $order= '')
 
 getListAsResource ($page=0, $page_size=0, $order= '')
 
 getPagedList ($page_size)
 
 loadAssocList ($key_field, $value=null)
 
 getAssocList ($key_field, $value=null)
 
 setOrder ($order=null, array $values=null)
 
 setGroup ($group=null)
 
 getListCount ()
 
 getFirst ()
 
 getOneItem ($id)
 
 getById ($id, $request=null)
 
 getElement ()
 
 setElement ($object)
 
 getElementClass ()
 
 getNewElement ()
 
 save ($id=null, array $user_post=[])
 
 addFilterControl (\RS\Html\Filter\Control $filter_control)
 
 addTableControl (\RS\Html\Table\Control $table_control)
 
 del (array $ids)
 
 multiDelete ($ids)
 
 getSelectList ($first=[])
 
 multieditFormView ($tpl_path, $formfile, array $addparam=[])
 
 multiUpdate (array $data, $ids=[])
 
 moveElement ($from, $to, $flag,\RS\Orm\Request $extra_expr=null)
 
 noWriteRights ($right=DefaultModuleRights::RIGHT_UPDATE)
 
 getIdByAlias ($alias_or_id, $alias_field=null)
 
 saveRequest ($key)
 
 getIdsByRequest (\RS\Orm\Request $request)
 
 __set ($name, $value)
 
 __get ($name)
 
 __isset ($name)
 
 __unset ($name)
 
- Открытые члены унаследованные от BaseModel
 addError ($message, $fieldname=null, $form=null)
 
 hasError ()
 
 getErrors ()
 
 cleanErrors ()
 
 getDisplayErrors ()
 
 getErrorsStr ()
 
 getFormErrors ($form, $separator= ', ')
 
 getNonFormErrors ($separator= ', ')
 
 exportErrors ()
 
 importErrors ($data)
 

Открытые статические члены

static getTypeClassInstance ($type_class_short_name)
 
static getStoragePath ()
 
static generateFilename ()
 
static changeLinkId ($old_id, $new_id, $link_type_class)
 
static getLinkedFiles ($link_type_class, $link_id, $access_type=null)
 
- Открытые статические члены унаследованные от EntityList
static getInstance ($key= 'default')
 
static staticSelectList ($first=[])
 
static getSavedRequest ($key, $default=null)
 

Поля данных

const UPLOAD_TYPE_COPY = 0
 
const UPLOAD_TYPE_MOVE = 1
 
const UPLOAD_TYPE_MOVEUPLOADED = 2
 
const SERVERNAME_TOTAL_LENGTH = 15
 
- Поля данных унаследованные от EntityList
const WHERE_CONDITION_VAR = 'where_conditions'
 
- Поля данных унаследованные от BaseModel
 $form_fieldname = []
 
 $errors_by_form = []
 
 $errors_non_form = []
 
 $errors = []
 

Статические защищенные данные

static $upload_folder = '/files/original'
 
- Статические защищенные данные унаследованные от EntityList
static $instance = []
 

Дополнительные унаследованные члены

- Защищенные члены унаследованные от EntityList
 parseArrayFilter ($filters)
 
 filterLike ($key, $value, $type, $prefix, $options)
 
 filterIs ($key, $value, $type, $prefix, $options)
 
 filterFullText ($key, $value, $type, $prefix, $options)
 
 filterIn ($key, $value, $type, $prefix, $options)
 
 filterNotin ($key, $value, $type, $prefix, $options)
 
 filterDefault ($key, $value, $type, $prefix, $options)
 
 setPage ($page, $pageSize)
 
 moveArrayUp ($arr)
 
 moveArrayDown ($arr)
 
- Защищенные данные унаследованные от EntityList
 $default_order
 
 $load_on_delete = false
 
 $id_field = 'id'
 
 $alias_field
 
 $sort_field
 
 $name_field
 
 $site_id_field = 'site_id'
 
 $is_multisite = false
 
 $site_context
 
 $def_table_alias = 'A'
 
 $obj
 
 $obj_instance
 
 $filter_active = false
 
 $multiedit_template = '%system%/coreobject/multiedit_form.tpl'
 
 $assocPlainList = []
 
 $parsePrefixes = ['&' => 'AND'
 
 $cache_alias = []
 
 $options = []
 
 $q
 
- Защищенные данные унаследованные от BaseModel
 $default_error_fieldname = 'Информация'
 

Конструктор(ы)

__construct ( )

Методы

canUploadFile (   $file_path,
FilesType\AbstractType  $type_class,
  $display_name = null 
)

Возвращает true, если возможна загрузка файла на сервер, иначе false. Сообщение об ошибке можно получить с помощью метода getErrors()

Аргументы
string$file_pathПуть к оригиналу файла
FilesType\AbstractType$type_class
mixed$display_name
Возвращает
boolean(false)
changeAccess (   $id,
  $access,
  $site_id = null 
)

Изменяет уровень видимости файла

Аргументы
integer$id- ID файла
string$access
null$site_id
Возвращает
bool
static changeLinkId (   $old_id,
  $new_id,
  $link_type_class 
)
static

Выполняет перепривязку файлов к новому ID объекта

Аргументы
integer$old_idID старого объекта
integer$new_idID нового объекта
string$link_type_classстроковый идентификатор типа связи
Возвращает
integer возвращает количество обновленных записей
cleanOldUnlinkedFiles ( )

Удаляет старые файлы, не связанные ни с одним объектом

deleteFiles (   $ids,
  $site_id = null 
)

Удаляет файлы с учетом текущего сайта

Аргументы
array$ids
integer  |  null$site_id
Возвращает
boolean
static generateFilename ( )
static

Возвращает сгенерированный путь для сохранения файла

Возвращает
string
getFile (   $id,
  $site_id = null 
)

Возвращает объект одного файла с учетом текущего сайта

Аргументы
integer$id- ID файла
integer  |  null$site_id- ID сайта
Возвращает
Orm | false
static getLinkedFiles (   $link_type_class,
  $link_id,
  $access_type = null 
)
static

Возвращает связанные файлы

Аргументы
string$link_type_classКласс связи
integer$link_idИдентификатор объекта связи
string | array | null$access_typeУровень доступа к файлу
Возвращает
File[]
static getStoragePath ( )
static

Возвращает путь к папке, в которой хранятся загруженные к объектам файлы

Возвращает
string
static getTypeClassInstance (   $type_class_short_name)
static

Возвращает объект типа связи

Аргументы
string$type_class_short_nameкороткое имя класса Например files-catalogproduct, будет сконвертирован в имя класса т.е. первый минус конвертируется в \, остальные минусы конвертируются в \
Возвращает
moveFileElement (   $from,
  $to,
  $flag,
FilesType\AbstractType  $type_class,
  $link_id 
)

Перемещает элемент from на место элемента to. Если flag = 'up', то до элемента to, иначе после

Аргументы
int$from- id элемента, который переносится
int$to- id ближайшего элемента, возле которого должен располагаться элемент
string$flag- up или down - флаг выше или ниже элемента $to должен располагаться элемент $from
FilesType\AbstractType$type_class- тип связи
mixed$link_id- ID элемента связанного
Возвращает
bool
uploadFromData (   $data,
FilesType\AbstractType  $type_class,
  $link_id,
  $display_name = null,
  $info = [] 
)

Загружает в систему один файл с заданным содержимым и связывает его с объектом

Аргументы
string$data- данные
FilesType\AbstractType$type_class- класс типа связи
integer$link_id- ID связываемого объекта
string$display_name- Имя файла, которое будет предложено браузером при сохранении
array$info- Масив с доп. полями. Поддерживается [mime => 'MIME тип файла']
Возвращает
Orm | boolean(false)
uploadFromPost (   $files,
FilesType\AbstractType  $type_class,
  $link_id 
)

Загружает список файлов из POST

Аргументы
array$files- массив с файлами, приходящий из POST
FilesType\AbstractType$type_class- тип файлов
mixed$link_id
Возвращает
array
uploadFromUrl (   $file_path,
FilesType\AbstractType  $type_class,
  $link_id,
  $display_name = null,
  $upload_type = self::UPLOAD_TYPE_COPY,
  $info = [] 
)

Загружает в систему один файл и связывает его с объектом

Аргументы
string$file_path- путь к файлу
FilesType\AbstractType$type_class- класс типа связи
integer$link_id- ID связываемого объекта
string$display_name- Имя файла, которое будет предложено браузером при сохранении
int$upload_type- тип переноса файла при загрузке. 0 - копирование, 1 - перемещение, 2 - перемещение только загруженного файла
array$info- Масив с доп. полями. Поддерживается [mime => 'MIME тип файла']
Возвращает
Orm | boolean(false)

Поля

$upload_folder = '/files/original'
staticprotected

Папка с оригиналами файлов, относительно /storage

const SERVERNAME_TOTAL_LENGTH = 15

Длина генерируемого имени файла на сервере

const UPLOAD_TYPE_COPY = 0
const UPLOAD_TYPE_MOVE = 1
const UPLOAD_TYPE_MOVEUPLOADED = 2