Користувальницькькі налаштування

Налаштування сайту


discounts

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Порівняння попередніх версій Попередня ревізія
Наступна ревізія
Попередня ревізія
Наступна ревізія По сторонах наступні версії
discounts [2022/12/30 17:52]
nightfly [Використання]
discounts [2022/12/30 18:26]
nightfly
Рядок 6: Рядок 6:
   * У випадку, якщо для користувачів, що здійснили ці платежі встановлено ненульовий відсоток знижки, цей відсоток від суми всіх платежів користувача зараховується на його рахунок.   * У випадку, якщо для користувачів, що здійснили ці платежі встановлено ненульовий відсоток знижки, цей відсоток від суми всіх платежів користувача зараховується на його рахунок.
  
-===== Ввімкнення та налаштування =====+ 
 +====== Ввімкнення та налаштування ======
  
 Вся конфігурація, відбувається за допомогою кількох опцій [[alteriniconf|alter.ini]]: Вся конфігурація, відбувається за допомогою кількох опцій [[alteriniconf|alter.ini]]:
Рядок 50: Рядок 51:
 </code> </code>
  
-==== Використання ====+====== Використання ======
  
 Тепер, для того, щоб встановити знижку нашому абоненту в 10%, нам достатньо просто скористатись "Редагуванням користувача" Тепер, для того, щоб встановити знижку нашому абоненту в 10%, нам достатньо просто скористатись "Редагуванням користувача"
Рядок 75: Рядок 76:
  
 Слід також зауважити, що для зміни відсотку знижки абонентів, у вашого персоналу повинно бути встановленим відповідне право керувати користувацькими знижками - **DISCOUNTS**. Слід також зауважити, що для зміни відсотку знижки абонентів, у вашого персоналу повинно бути встановленим відповідне право керувати користувацькими знижками - **DISCOUNTS**.
 +
 +====== Міграція з старих знижок ======
 +
 +У випадку, якщо ви раніше, в доісторичні часи, використовували стару механіку знижок, що спиралась на "Додаткові поля профілю" aka CF <del>можемо тільки поспівчувати</del> - з турботою про вас, зроблено простий [[onepunch|One-punch скрипт]] для міграції отого всього мороку в нормальний сучасний вигляд. Просто, після оновлення Ubilling до 1.3.4 чи новішого, разочок запустіть його в "PHP консолі розробника" і все в вас буде добре ;)
 +
 +<code php>
 +    if ($ubillingConfig->getAlterParam('DISCOUNTS_ENABLED')) {
 +        $discountCfId = $ubillingConfig->getAlterParam('DISCOUNT_PERCENT_CFID');
 +        if ($discountCfId) {
 +            $cfDb = new nya_cfitems();
 +            $cfDb->where('typeid', '=', $discountCfId);
 +            $allOldDiscounts = $cfDb->getAll('login');
 +            if (!empty($allOldDiscounts)) {
 +                $discountsDb = new nya_discounts();
 +                $allDiscounts = $discountsDb->getAll('login');
 +                foreach ($allOldDiscounts as $eachLogin => $eachOldDiscountData) {
 +                    if (is_numeric($eachOldDiscountData['content'])) {
 +                        if (!isset($allDiscounts[$eachLogin])) {
 +                            $newDiscount = ubRouting::filters($eachOldDiscountData['content'], 'int');
 +                            $loginF = ubRouting::filters($eachOldDiscountData['login'], 'mres');
 +                            $loginF = trim($loginF);
 +                            $discountsDb->data('login', $loginF);
 +                            $discountsDb->data('percent', $newDiscount);
 +                            $discountsDb->create();
 +                            show_success(__('User') . ' (' . $eachLogin . ') ' . __('Discount') . ' ' . $newDiscount);
 +                        } else {
 +                            show_warning(__('User') . ' (' . $eachLogin . ') ' . __('already have discount'));
 +                        }
 +                    } else {
 +                        show_error(__('User') . ' (' . $eachLogin . ') ' . __('have wrong discount value') . ' ' . $newDiscount);
 +                    }
 +                }
 +                $cache = new UbillingCache();
 +                $cache->delete(Discounts::CACHE_KEY);
 +            } else {
 +                show_error(__('No old discounts found'));
 +            }
 +        } else {
 +            show_error(__('No DISCOUNT_PERCENT_CFID option set'));
 +        }
 +    } else {
 +        show_error(__('Discounts') . ' ' . __('is disabled'));
 +    }
 +</code>
 +
 +Всі ваші старі знижки, з додаткових подів профілю, буде сконвертовано для роботи в нову структуру даних, після чого ви зможете сміливо видалити це додаткове поле профілю і забути про нього як про страшний сон.
discounts.txt · Востаннє змінено: 2023/01/19 10:49 повз mixtery