Плагин XenForo [XenForo AddOn] Lolz Insurance Deposit (С "привязкой" к LZT)

Плагин XenForo  [XenForo AddOn] Lolz Insurance Deposit (С "привязкой" к LZT)

Тема в разделе Движки, фреймворки создана пользователем ToSa
  • Теги
    xenforo
  • ToSa Автор темы
    Всем привет, написал аддон на страховой депозит как на LZT для XenForo 2.2

    С возможностью "привязки" к лолзтиму.

    На самом деле это не очень-то и привязка.
    В настройках аддона можно выставить у каких людей будет надпись "Депозит синхронизирован с LZT"
    f0157197c72685506fdef9cbd88f4d117dd8497bbf14f063bc3c365b2c4e19c0.webp


    ee976375df976a637b82872d289a28d8f95f006a95cb0a9eb5fffe1cdae70420.webp

    Пополнение работает в автоматическом режиме.
    Пользователь вводит сумму, выбирает способ оплаты, оплачивает и депозит пополняется

    0c96e757924ac333d1b01d4ea83336771025db35f54cd7c1539c4ef943e3e09e.webp

    dc04107f6594b97f6a9547ecff09dabd001706137267a721b2692c2549e17d6d.webp

    Вывод производится в ручном режиме.
    Аддон используют стандартную систему пре-модерации XenForo, когда администратор одобряет или отклоняет заявку, пользователю приходит уведомление

    58fceed292c5872e1e5cd3c6b02b7230327aa2dbe52e3788ac7ddf788186b262.webp

    a8dc0d000e4e263af82554389152f61efe8e4843c7d979c847d0f754250b8352.webp

    993e6bb4f156cdeb351b613f2ccfd3735fe79820974f47a582ba39bbde0b5c11.webp

    d4331638e5e73d60524db1c2e4ab216afed26a701c7e472fc231c3baa15e0b75.webp
    1f9fbc85f675449356adf5bbbf6d0d354a3cafb18b1d9bfea2a70586e9f1616c.webp

    78d3f1528e6656cb202c117ebf347b1456d87767526bace919faeac58c9a29ed.webp

    e73579960408c3abbd833181cf0f794c7cf45394a981e9b2091aa9a20ebd3fe6.webp

    3dcc5f6d5d57f5e59b8ab82fb251a8d679301433897e5f1a74daedd648a43af0.webp

    107e09ecafce732526e4d565039860a1eed97d4ae8f687007f0e668de8075340.webp

    a64834855c5d3ffe957716ec9834209d1518eef745346eb401af31b7af2dedaa.webp

    2398c61ea42d4060e0e389f04de742bdf2639ac8b496d0dc379e8972f308968a.webp

    b0e13340779289912d321f8465d59d0b929cd8b9e30211bf68ca7cdfaa16d8eb.webp

    c2bac1049f270bd88bf83ba056029c2137392c95e7237440a44ecd4573fd037f.webp

    66c68c5934d375923a15be8cbc872c243e01cc6fc251e364367dc29cd3ea4d1c.webp



    Спасибо за просмотр!

    7
    1690398526514.png


    Я тебя удивлю, но в ксене есть XF::em()->findOne('твоё энтити', ['complete' => $request->блаблабла]); или XF::finder()

    1

    ToSa
    да я еблан просто, но спасибо
    ToSa Автор темы
    [ Обновление ]

    Версия 2.0.0:

    Оптимизация и добавление новых функций:

    1. Оптимизация кода.
    2. Добавление истории транзакций в панели админа.
    3. Добавление пользователей, у которых депозит больше 0 в панели админа.

    [IMG]

    [IMG]

    [IMG]

    [IMG]

    [IMG]

    (ап кнопкой)

    Небольшие советы от "кодера" на XF:
    1. Всегда используй то, что даёт ксен. Те же запросы в бд. Никогда не костыль своё без крайних необходимостей.
    2. Визуальная часть. Всегда убирай лишние отступы, лишние переносы строк и.т.д. Самому станет приятнее смотреть.
    3. Я, может, чего-то не знаю, но...
    1691527527235.png

    Зачем?

    Разве ксен не жрет обычный массив, или обязательно тыкать его, что это массив?)

    1691527659204.png


    $output = ['amount' => $extraData['amount']]; в одну строчку


    1691527716847.png

    Не советовал бы так делать, лучше использовать ID юзера, или генерировать что-то типо: <user_id>_<рандомные цифры>


    1691527891735.png

    p.s при рендере не обязательно передавать что-либо. Ксен даже шаблон может не принимать, так как есть возможность через View рендерить JSON страницу, а параметры тем более)


    1691528002659.png

    Тянешь XF, но при этом ставишь \ перед XF::


    Также у тебя какой-то странный кейс для переменных. Вообще, принято: variableName, но ты делаешь variable_name. Это просто совет, не воспринимай за негатив, просто читабельность кода превыше всего, даже если проект для себя


    1691528106627.png

    $log = XF::finder("DCS\LolzInsuranceDeposit:DepositLog")->where('log_id', $params->log_id)->fetchOne();
    $user = $log->User;
    ....
    Кстати, во where необязательно ставить =, потому что это дефолтное условие

    1691528256395.png

    Тоже упускаешь кейс: actionAddUser


    1691528276814.png

    1691528330405.png


    Условие ради условия.
    Можно просто return $this->noPermission();


    Дальше мне лень смотреть, но просто учти, не везде принято использовать правило "работает - не трожь", нужно хотя бы минимальную читабельность делать и соблюдать PSR стандарты. Самому же будет приятнее смотреть на чистый код без лишних строк, да и скрипт станет работать шустрее, потому что перестанешь занимать память лишним кодом(не особо быстрее, но хотя тоже плюс разработчику). Понимаю, что плагин фри, но иметь уважение к себе тоже надо, потому и делать надо качественно. Ты хорошо постарался над плагином, выложил его бесплатно, молодец, но прошу прислушать к советам. Удачи в начинаниях!

    1

    ToSa
    спасибо
    ToSa Автор темы
    [ Обновление ]

    Версия 2.0.1:

    1. Фикс ошибки при установке.

    (ап кнопкой)

    Сверху