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

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


onepunch

Розбіжності

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

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

Порівняння попередніх версій Попередня ревізія
Наступна ревізія
Попередня ревізія
onepunch [2022/12/01 17:50]
nightfly [Принудительное снятие полной АП со всех абонентов]
onepunch [2023/03/27 12:45] (поточний)
nightfly
Рядок 3: Рядок 3:
 {{ :saitama.png?direct&|}} {{ :saitama.png?direct&|}}
  
-Позволяют вам <del>немного побыть Сайтамой</del> сохранять свои заготовки кода, для отладки в консоли разработчика или последующего вызова из [[remoteapi|RemoteAPI]].+Дозволяють вам <del>трішки побути Сайтамою</del> зберігати свої шматочки коду, для відлагодження в консолі розробника чи подальшого виклику їх з [[remoteapi|RemoteAPI]] за для розширення функціоналу вашого біллінгу, чи використання їх у ролі звітів "Майстра звітів". Загалом, це все разом являє собою неймовірно гнучку та зручну систему розширення бізнес-логіки ваших рішень.
  
-Вполне себе очевидно, что управлять ими вы можете в "Консоли разработчика" а именно в "PHP консоли". Также вы можете при желании импортировать ваши старые шаблоны кода, если они у вас были. Важно: после импорта шаблоны кода удаляются из базы. Да, при создании и редактировании скриптов все поля являются обязательными. Поле alias должно быть уникальным и содержать только латиницу и цифрыИмя вы пишете только для себячтобы понимать что это за кусок кода+Доволі очевидно, що керувати ними ви можете з "Консолі розробника". А саме в "PHP консолі". Такпри створенні та редагуванні скриптів усі поля є обов'язковими. Поле alias має бути унікальним і містити тільки латиницю чи цифриІм'я ви пишете тільки для себещоб розуміти, що це за шматок коду
- +За допомогою One-Punch скриптів можна робити практично все, що могли б робити за допомогою якого-небудь модуля. Наприклад, ресет якогось користувача що хвилин.
-При помощи One-Punch скриптов вы можете делать практически все, что могли бы делать при помощи любого модуля. Например ресет какогоо юзера раз в минут :)+
  
 {{:onepunch1.png?500|}} {{:onepunch1.png?500|}}
  
-Собственно вот так мы это вызываем при помощи crontab -e+Власне так ми викликатимемо це за допомогою нашого crontab
  
 <code bash> <code bash>
Рядок 17: Рядок 16:
 </code> </code>
  
-А какие практические кейсы вы можете реализоватьДа какие угдно, для реализации нужной вам бизнес-логки. Например на их базе вы можете сделать свое собственное REST API.+А які більш практичні кейси ви можете реалізувати One-Punch скриптамиТа які завгодно, для реалізації потрібної вам бізнес логіки. Наприклад, на їх базі ви можете зробити своє власне REST API.
  
 {{:onepunch2.png?500|}} {{:onepunch2.png?500|}}
  
-и получать данные о нужных вам полях пользователяиз ваших внешних приложений при помощи соответствующего URL. Для мобилки например так:+і отримувати дані про потрібні вам поля користувача, з ваших зовнішніх програм за допомогою відповідного URL. Для мобілки наприклад так:
 <code> <code>
-?module=remoteapi&key=ВАШ_СЕРИЙНИК&action=onepunch&param=getuserfield&login=sometestuser&field=mobile+?module=remoteapi&key=ВАШ_СЕРІЙНИК&action=onepunch&param=getuserfield&login=sometestuser&field=mobile
 </code> </code>
  
-===== Полезные примеры ===== +===== Корисні приклади =====
- +
-==== Ежедневный отчет о деятельности ====+
  
-А можно делать что-то более понятное? Ну да. Вот вам например ежедневная нотификация в [[ubillingtelegram|Телеграм]] о произошедших за день штуках:+==== Щоденний звіт що до діяльності ====
  
 +А чи можна робити щось ще зрозуміліше? Ну так. Ось вам наприклад щоденна нотифікація у [[ubillingtelegram|Телеграм]] про штуки, які відбулись протягом доби.
 <code php> <code php>
 $telegramChatIds = array('11111111', '22222222'); $telegramChatIds = array('11111111', '22222222');
Рядок 115: Рядок 113:
 </code> </code>
  
-И соответственно ее ежедневный вызов:+Та відповідно щоденний виклик:
  
 <code bash> <code bash>
Рядок 121: Рядок 119:
 </code> </code>
  
-==== Ежегодное начисление АП по какому-то тегу ====+==== Щорічне нарахування АП згідно якогось тегу ====
  
 <code php> <code php>
Рядок 176: Рядок 174:
 </code> </code>
  
-Ну и вызов этогоможет выглядеть как ежемесячное+Ну і виклик цього може виглядати як щомісячне  
 <code bash> <code bash>
 50 1 1 * *      /bin/ubapi "onepunch&param=yearcharge" 50 1 1 * *      /bin/ubapi "onepunch&param=yearcharge"
Рядок 182: Рядок 181:
  
  
-==== Принудительное снятие полной АП со всех абонентов ====+==== Примусове зняття повної АП зі всіх абонентів ====
 <code php> <code php>
     set_time_limit(0);     set_time_limit(0);
Рядок 211: Рядок 210:
     } else {     } else {
         show_error(__('No') . ' ' . __('Users'));         show_error(__('No') . ' ' . __('Users'));
 +    }
 +</code>
 +
 +
 +==== Кредит всім абонентам з якимись умовами ====
 +
 +<code php>
 +set_time_limit (0);
 +
 +$credit = 9000;
 +$creditexpire='2023-01-06';
 +$cashlimit=5;
 +
 +$users = new nya_users();
 +$users->where('Down','=','0');
 +$users->where('Passive','=','0');
 +$users->where('Credit','<','10');
 +$users->where('Cash','<',$cashlimit);
 +
 +
 +
 +$allUsers = $users->getAll('login');
 +
 +foreach ($allUsers as $io => $userData){
 +  $billing->setcredit($userData['login'], $credit);
 +  log_register('CHANGE FixCredit ('.$userData['login'].') ON '.$credit);
 +  $billing->setcreditexpire($userData['login'],$creditexpire);
 +  log_register('CHANGE CreditExpire ('.$userData['login'].') ON '.$creditexpire);
 +}
 +</code>
 +
 +==== Примусове зняття АП поденних тарифів за скількись днів ====
 +
 +<code php>
 +    set_time_limit(0);
 +    $chargeDays = 5;
 +    $tariffsDb = new NyanORM('tariffs');
 +    $tariffsDb->where('period', '=', 'day');
 +    $allDailyTariffs = $tariffsDb->getAll('name');
 +    $allUsers = zb_UserGetAllData();
 +    if (!empty($allUsers) AND ! empty($allDailyTariffs)) {
 +        foreach ($allUsers as $io => $eachUser) {
 +            if (isset($allDailyTariffs[$eachUser['Tariff']]) AND $eachUser['Passive'] == 0) {
 +                $tariffFee = $allDailyTariffs[$eachUser['Tariff']]['Fee'];
 +                $chargeFix = '-' . $tariffFee * $chargeDays;
 +                zb_CashAdd($eachUser['login'], $chargeFix, 'correct', 1, 'FEE');
 +                log_register('CHANGE FixStargazerFee (' . $eachUser['login'] . ') ON ' . $chargeFix);
 +                show_warning('Fixing fee for (' . $eachUser['login'] . ') Tariff ' . $eachUser['Tariff'] . ' ON ' . $tariffFee . '*' . $chargeDays . '=' . $chargeFix);
 +            }
 +        }
     }     }
 </code> </code>
onepunch.1669909848.txt.gz · Востаннє змінено: 2022/12/01 17:50 повз nightfly