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

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

 __construct ()
 
 getSourceFolder ()
 
 fixSortNumbers ($linkid, $type)
 
 moveUploadedFile ($source, $destination, $move_type=self::MOVE_TYPE_UPLOAD, $enable_resize=true)
 
 cleanUploadError ()
 
 getUploadError ()
 
 getPrevNextPhoto (Core_List $photo_list, $cur_photo)
 
 stub ()
 
 multiDelete ($ids)
 
 deleteUnlinkedPhotos ()
 
 deletePreviewPhotos ()
 
 checkMimeTypeSupport (string $mime_type)
 
 delDuplicatePhotosOfSomeType (string $type)
 
- Открытые члены унаследованные от 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)
 
- Открытые члены унаследованные от BaseModel
 addError ($message, $fieldname=null, $form=null)
 
 hasError ()
 
 getErrors ()
 
 cleanErrors ()
 
 getDisplayErrors ()
 
 getErrorsStr ()
 
 getFormErrors ($form, $separator= ', ')
 
 getNonFormErrors ($separator= ', ')
 
 exportErrors ()
 
 importErrors ($data)
 

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

static generateImgName ()
 
static getExtensionByType ($type)
 
- Открытые статические члены унаследованные от EntityList
static getInstance ($key= 'default')
 
static staticSelectList ($first=[])
 
static getSavedRequest ($key, $default=null)
 

Поля данных

const MOVE_TYPE_UPLOAD = 'upload'
 
const MOVE_TYPE_RENAME = 'rename'
 
const MOVE_TYPE_COPY = 'copy'
 
const IMGUNIQ_TOTAL_LENGTH = 15
 
- Поля данных унаследованные от EntityList
const WHERE_CONDITION_VAR = 'where_conditions'
 
- Поля данных унаследованные от BaseModel
 $form_fieldname = []
 
 $errors_by_form = []
 
 $errors_non_form = []
 
 $errors = []
 

Защищенные члены

 checkUploadError ($err_status)
 
 delRecursive ($dir_base, $file_base, $exists)
 
- Защищенные члены унаследованные от 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)
 

Защищенные данные

 $obj_instance
 
 $enable_upload_resize = true
 
 $uploadError = []
 
 $allow_mime = ['image/pjpeg', 'image/jpeg', 'image/png', 'image/gif', 'image/webp']
 
 $srcFolder = '/storage/photo/original'
 
 $dstFolder = '/storage/photo/resized'
 
- Защищенные данные унаследованные от 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'
 
 $q
 
- Защищенные данные унаследованные от BaseModel
 $default_error_fieldname = 'Информация'
 

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

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

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

__construct ( )

PhotoApi constructor.

Методы

checkMimeTypeSupport ( string  $mime_type)

Проверяет поддержку формата изображения

Аргументы
string$mime_type
Возвращает
bool
checkUploadError (   $err_status)
protected

Проверяет ответ сервера на загрузку файла на известные ошибки. Если ошибок нет, то false, иначе возвращается пояснение к ошибке

Аргументы
integer$err_status- идентификатор статуса ошибки
Возвращает
bool|string
cleanUploadError ( )

Очищает ошибки после загрузки файлов

delDuplicatePhotosOfSomeType ( string  $type)

Удаляет ссылки на дублирующиеся фотографии в рамках сущности

Аргументы
string$type— 'catalog', ... etc
deletePreviewPhotos ( )

Удаляет автоматически сгенерированные миниатюры фото

Возвращает
bool
deleteUnlinkedPhotos ( )

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

Возвращает
integer возвращает количество удаленных оригиналов изображений
Исключения
DbException
RSException
delRecursive (   $dir_base,
  $file_base,
  $exists 
)
protected

Рекурсивно удаляет изображения

Аргументы
string$dir_base- корневая папка с оригиналами фото
string$file_base- папка относительно корня фото
array$exists- массив с именами файлов в ключе, которые не нужно удалять
Возвращает
integer возвращает количество удаленных оригинальных изображений
fixSortNumbers (   $linkid,
  $type 
)

Исправляет порядоковые номера сортировки. Актуально, например, при удалении картинок.

Аргументы
$linkid- id прилинкованного объекта
$type- тип ссылки
Исключения
DbException
RSException
static generateImgName ( )
static

Генерирует уникальное имя картинки, в папке. Например: "a/h32k45h6hn"

static getExtensionByType (   $type)
static

Возвращает расширение по типу файла

Аргументы
integer$typeтип изображения. см константы IMAGETYPE_...
Возвращает
string
getPrevNextPhoto ( Core_List  $photo_list,
  $cur_photo 
)
getSourceFolder ( )

Возвращает имя каталога с оригиналами загруженных фотографий

Возвращает
string
getUploadError ( )

Возвращает массив ошибок при загрузке

Возвращает
array
moveUploadedFile (   $source,
  $destination,
  $move_type = self::MOVE_TYPE_UPLOAD,
  $enable_resize = true 
)

Сохраняет фотографию в хранилище оригиналов с учетом настроек модуля

Аргументы
string$source- путь к исходному файлу изображения
string$destination- путь к файлу изображения для сохранения
string$move_type- тип перемещения загрженного файла
bool$enable_resize- уменьшать большие фото до размера указанного конфиге
Возвращает
mixed
Исключения
RSException
ImgException
multiDelete (   $ids)

Массово удаляет связанные картинки всех размеров и ссылки на них.

Аргументы
$ids
Возвращает
void
Исключения
DbException
RSException
stub ( )

Возвращает объект заглушки

Поля

$allow_mime = ['image/pjpeg', 'image/jpeg', 'image/png', 'image/gif', 'image/webp']
protected
$dstFolder = '/storage/photo/resized'
protected
$enable_upload_resize = true
protected
$obj_instance
protected
$srcFolder = '/storage/photo/original'
protected
$uploadError = []
protected
const IMGUNIQ_TOTAL_LENGTH = 15
const MOVE_TYPE_COPY = 'copy'
const MOVE_TYPE_RENAME = 'rename'
const MOVE_TYPE_UPLOAD = 'upload'