Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
Наступна ревізія | Попередня ревізія | ||
onepunch [2022/09/24 14:39] 127.0.0.1 зовнішнє редагування |
onepunch [2025/03/17 19:05] (поточний) nightfly |
||
---|---|---|---|
Рядок 3: | Рядок 3: | ||
{{ : | {{ : | ||
- | Позволяют вам <del>немного | + | Дозволяють вам <del>трішки |
- | Вполне себе | + | Доволі очевидно, |
+ | За допомогою One-Punch скриптів | ||
- | При помощи One-Punch скриптов вы можете делать практически все, что могли бы делать при помощи любого модуля. Например ресет какого-то юзера раз в 5 минут | + | {{:onepunch1x.png? |
- | {{: | + | Власне так ми викликатимемо це за допомогою нашого |
- | + | ||
- | Собственно вот | + | |
<code bash> | <code bash> | ||
Рядок 17: | Рядок 16: | ||
</ | </ | ||
- | А какие | + | А які більш |
- | {{:onepunch2.png?500|}} | + | {{:onepunch2x.png?500|}} |
- | и получать данные | + | і отримувати дані про потрібні вам поля |
< | < | ||
- | ? | + | ? |
</ | </ | ||
- | ===== Полезные примеры ===== | + | ===== Корисні приклади ===== |
- | + | ||
- | ==== Ежедневный отчет о деятельности ==== | + | |
- | А можно делать что-то более понятное? Ну да. Вот вам например ежедневная нотификация в [[ubillingtelegram|Телеграм]] о произошедших за день штуках: | + | ==== Щоденний звіт що до діяльності ==== |
+ | А чи можна робити щось ще зрозуміліше? | ||
<code php> | <code php> | ||
$telegramChatIds = array(' | $telegramChatIds = array(' | ||
Рядок 115: | Рядок 113: | ||
</ | </ | ||
- | И соответственно ее ежедневный вызов: | + | Та відповідно щоденний виклик: |
<code bash> | <code bash> | ||
Рядок 121: | Рядок 119: | ||
</ | </ | ||
- | ==== Ежегодное начисление АП по какому-то тегу ==== | + | ==== Щорічне нарахування АП згідно якогось тегу ==== |
<code php> | <code php> | ||
Рядок 176: | Рядок 174: | ||
</ | </ | ||
- | Ну и вызов этого, может выглядеть как ежемесячное | + | Ну і виклик цього може виглядати як щомісячне |
<code bash> | <code bash> | ||
50 1 1 * * /bin/ubapi " | 50 1 1 * * /bin/ubapi " | ||
Рядок 182: | Рядок 181: | ||
- | ==== Принудительное снятие полной АП со всех абонентов ==== | + | ==== Примусове зняття повної АП зі всіх абонентів ==== |
<code php> | <code php> | ||
- | set_time_limit(0); | + | |
- | $tariffPrices = zb_TariffGetPricesAll(); | + | $tariffPrices = zb_TariffGetPricesAll(); |
- | $users = new nya_users(); | + | $users = new nya_users(); |
- | $users-> | + | $users-> |
- | $all = $users-> | + | $all = $users-> |
- | $i = 0; | + | $i = 0; |
- | if (!empty($all)) { | + | if (!empty($all)) { |
- | foreach ($all as $io => $each) { | + | foreach ($all as $io => $each) { |
- | $userTariff = $each[' | + | $userTariff = $each[' |
- | if (isset($tariffPrices[$userTariff])) { | + | if (isset($tariffPrices[$userTariff])) { |
- | $userFee = $tariffPrices[$userTariff]; | + | $userFee = $tariffPrices[$userTariff]; |
- | if ($userFee > 0) { | + | if ($userFee > 0) { |
- | $feeCharge = ' | + | $feeCharge = ' |
- | $billing-> | + | // use following method to avoid payments log recording |
- | log_register(' | + | // $billing-> |
+ | // charging some cash as payment correction | ||
+ | zb_CashAdd($each[' | ||
+ | | ||
+ | } | ||
+ | } else { | ||
+ | show_warning(__(' | ||
} | } | ||
- | } else { | + | |
- | show_warning(__(' | + | |
} | } | ||
- | $i++; | + | |
+ | } else { | ||
+ | show_error(__(' | ||
} | } | ||
- | show_info(__(' | + | </ |
- | } else { | + | |
- | | + | |
+ | ==== Кредит всім абонентам з якимись умовами ==== | ||
+ | |||
+ | <code php> | ||
+ | set_time_limit | ||
+ | |||
+ | $credit = 9000; | ||
+ | $creditexpire=' | ||
+ | $cashlimit=5; | ||
+ | |||
+ | $users = new nya_users(); | ||
+ | $users-> | ||
+ | $users-> | ||
+ | $users-> | ||
+ | $users-> | ||
+ | |||
+ | |||
+ | |||
+ | $allUsers = $users-> | ||
+ | |||
+ | foreach | ||
+ | $billing-> | ||
+ | log_register(' | ||
+ | $billing-> | ||
+ | log_register(' | ||
} | } | ||
+ | </ | ||
+ | |||
+ | ==== Примусове зняття АП поденних тарифів за скількись днів ==== | ||
+ | |||
+ | <code php> | ||
+ | set_time_limit(0); | ||
+ | $chargeDays = 5; | ||
+ | $tariffsDb = new NyanORM(' | ||
+ | $tariffsDb-> | ||
+ | $allDailyTariffs = $tariffsDb-> | ||
+ | $allUsers = zb_UserGetAllData(); | ||
+ | if (!empty($allUsers) AND ! empty($allDailyTariffs)) { | ||
+ | foreach ($allUsers as $io => $eachUser) { | ||
+ | if (isset($allDailyTariffs[$eachUser[' | ||
+ | $tariffFee = $allDailyTariffs[$eachUser[' | ||
+ | $chargeFix = ' | ||
+ | zb_CashAdd($eachUser[' | ||
+ | log_register(' | ||
+ | show_warning(' | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ==== Ресет всіх користувачів на якомусь тарифі ==== | ||
+ | <code php> | ||
+ | set_time_limit(0); | ||
+ | $tariffFilter = ' | ||
+ | |||
+ | $usersDb = new nya_users(); | ||
+ | $usersDb-> | ||
+ | $allUsers = $usersDb-> | ||
+ | if (!empty($allUsers)) { | ||
+ | foreach ($allUsers as $io => $each) { | ||
+ | $billing-> | ||
+ | show_info(__(' | ||
+ | } | ||
+ | } else { | ||
+ | show_warning(__(' | ||
+ | } | ||
</ | </ |