Просмотр Исходного

Использование кастомного модуля для личного кабинета, работающего в пространстве имен _carbon\modules_.
Таким образом можно изменять стандартные модули carbon или создавать собственные.

h4. Тестирование

Модуль необходимо разместить в рабочем каталоге:
{code}/app/asr_cabinet/usr/local/lib/cabinet_modules{code}

h4. Выпуск

Когда модуль будет готов, его необходимо скопировать в каталог хранения:
{code}/app/asr_cabinet/var/cabinet_modules/{code}

Это сделано для того, чтобы он не исчезал после обновления биллинга.

{color:#ff0000}{*}Внимание\!*{color} Файлы из каталога хранения затирают файлы более старые файлы в рабочем каталоге (для того, чтобы можно было заменять стандартные модули)

Это значит, что если в каталоге хранения будет находиться файл, не являющийся модулем, может перестать работать личный кабинет.

h4. Примеры

h5. Задача. Необходимо заменить описание для авто платежей Paymaster.

{code}
chroot /app/asr_cabinet/
#копируем стандартный модуль, все изменения будут происходить в новом файле.
cp -p /usr/local/lib/cabinet_modules/modules/AutopayPayment.php /usr/local/lib/cabinet_modules/modules/AutopayPaymentPaymaster.php
{code}
{code}
#находим блок public function processPOST_paymaster($POST)

$params = Array(
'LMI_MERCHANT_ID' => $login,
'LMI_PAYMENT_AMOUNT' => $sum,
'LMI_CURRENCY' => "RUB",
'LMI_PAYMENT_DESC_BASE64' => base64_encode('Подключение автоплатежей'),
'LMI_PAYMENT_NO' => $order_id,
'LMI_CREATE_TOKEN' => 'True',
'LMI_PAYMENT_METHOD' => 'BankCard'q
);

#нас интересует парамерты 'LMI_PAYMENT_DESC_BASE64' => base64_encode('Подключение автоплатежей'),
#заменяем на 'LMI_PAYMENT_DESC_BASE64' => base64_encode('Подключение автоплатежей'),

$params = Array(
'LMI_MERCHANT_ID' => $login,
'LMI_PAYMENT_AMOUNT' => $sum,
'LMI_CURRENCY' => "RUB",
'LMI_PAYMENT_DESC_BASE64' => base64_encode($result->comment),
'LMI_PAYMENT_NO' => $order_id,
'LMI_CREATE_TOKEN' => 'True',
'LMI_PAYMENT_METHOD' => 'BankCard'q
);

#сохраняем изменения
{code}

Копируем новый модуль в каталог /app/asr_cabinet/var/cabinet_modules/
{code}
cp -p /usr/local/lib/cabinet_modules/modules/AutopayPaymentPaymaster.php /var/cabinet_modules/AutopayPaymentPaymaster.php
{code}

В личном кабинете для вызова этого модуля будет использоваться следующий код
{code}
[cabinet_autopay_payment_paymaster operator="paymaster"]
{code}