Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
| Наступна ревізія | Попередня ревізія | ||
|
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(__(' | ||
| + | } | ||
| </ | </ | ||