Форуми / National / Russian / Модули и плагины / [test] module FileAPI

Salador
#42905 15.06.2017 12:56

Не могу понять как сделать загрузку изображений в сторонний плагин - например нужно добаваить изображения в модуль market.

Добавлено 3 недели спустя:

Так и немогу загружать изображения в свои плагины.

1) как понял в форму вставлять примерно так

fileAPI_form('prepare:1,area:forum, preset:main') 

правда непонятны некоторые параметры 

2) форма вставилась, файлы загружает, но после загрузки выходит ошибка 

Call to undefined function finfo_open() fileAPI.loader.php on line 158

в интернете написано, что нужно подключить fileinfo в версиях < php  5.3 на windows, но у меня php 5.6 на linux. 

Добавлено 16 минут спустя:

3) на сервере нашел где включить fileinfo 

4) файлы загружаются в каталог datas/fileAPI/forum/fileapi_prepare/1

мне нужно как-то програмно узнать, путь к только что загруженным файлам 

Добавлено 9 минут спустя:

5) поменял параметр area: в fileAPI_form на название модуля - теперь создал в datas/fileAPI/ с названием моего модуля и туда закидывает.

6) меняю значение prepare: ни на что не влияет.

7) добавил в fileAPI_form параметр cat: как в документации - пока не вижу, на что он влияет.

Добавлено 19 минут спустя:

8) Информацию по загруженным файлам добавляет в БД в cot_fileAPI  

9) Как понял значение prepare: говорит, что файл надо поместить во временную дирикторию в wiki написано

Указав параметр prepare:1 мы подготавливаем данные для загрузки файлов к еще не существующим объектам. В данном случае к несуществующей странице.

теперь как-то нужно узнать файлы с каким fa_id в таблице cot_fileAPI сейчас я загрузил.

 

Добавлено 5 минут спустя:

10) Если я хожу по своему сайту и опять вернулся на ту страницу где загружаю файлы, то он мне показывает уже загруженные, значит он как-то знает - а я нетsad

Добавлено 55 минут спустя:

11) в fileAPI есть функция modify_fileAPI_prepare которая переназначает временные файлы, но она недоступна в других плагинах.

чтобы открыть её добавил в fileAPI.global.php следующие строки по аналогии:

if (!function_exists('fileAPI_prepare'))
{
	function fileAPI_prepare($area, $indf, $cat, $pre_indf = false)
	{
		global $L;
		if (!function_exists('modify_fileAPI_prepare'))
		{
			require_once cot_incfile('fileAPI', 'module');
		}
		return modify_fileAPI_prepare($area, $indf, $cat, $pre_indf);
	}
}

 

теперь в свой плагин добавляю функцию обработки данных формы и вставляю строку

fileAPI_prepare('имя плагина', $id, $cat);

где $id - идентификатор документа

$cat - его каталог или аналогичная информация.

теперь он переносит временные файлы из каталога fileapi_prepare в каталог $cat, а также изменяет информацию в таблице cot_fileAPI

 

дальше вроде понятно, что делать...

 


Відредаговано: Salador (09.07.2017 12:23, 7 років тому)