Небольшие советы от "кодера" на XF:
1. Всегда используй то, что даёт ксен. Те же запросы в бд. Никогда не костыль своё без крайних необходимостей.
2. Визуальная часть. Всегда убирай лишние отступы, лишние переносы строк и.т.д. Самому станет приятнее смотреть.
3. Я, может, чего-то не знаю, но...
Зачем?
Разве ксен не жрет обычный массив, или обязательно тыкать его, что это массив?)
$output = ['amount' => $extraData['amount']];
в одну строчку
Не советовал бы так делать, лучше использовать ID юзера, или генерировать что-то типо: <user_id>_<рандомные цифры>
p.s при рендере не обязательно передавать что-либо. Ксен даже шаблон может не принимать, так как есть возможность через View рендерить JSON страницу, а параметры тем более)
Тянешь XF, но при этом ставишь \ перед XF::
Также у тебя какой-то странный кейс для переменных. Вообще, принято: variableName, но ты делаешь variable_name. Это просто совет, не воспринимай за негатив, просто читабельность кода превыше всего, даже если проект для себя
$log = XF::finder("DCS\LolzInsuranceDeposit:DepositLog")->where('log_id', $params->log_id)->fetchOne();
$user = $log->User;
....
Кстати, во where необязательно ставить =, потому что это дефолтное условие
Тоже упускаешь кейс: actionAddUser
Условие ради условия.
Можно просто return $this->noPermission();
Дальше мне лень смотреть, но просто учти, не везде принято использовать правило "работает - не трожь", нужно хотя бы минимальную читабельность делать и соблюдать PSR стандарты. Самому же будет приятнее смотреть на чистый код без лишних строк, да и скрипт станет работать шустрее, потому что перестанешь занимать память лишним кодом(не особо быстрее, но хотя тоже плюс разработчику). Понимаю, что плагин фри, но иметь уважение к себе тоже надо, потому и делать надо качественно. Ты хорошо постарался над плагином, выложил его бесплатно, молодец, но прошу прислушать к советам. Удачи в начинаниях!