Инструменты пользователя

Инструменты сайта


onepunch

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
onepunch [2018/07/20 01:26]
nightfly
onepunch [2020/04/09 14:17] (текущий)
nightfly
Строка 1: Строка 1:
 ====== One-Punch Scripts ====== ====== One-Punch Scripts ======
 +
 +{{ :​saitama.png?​direct&​|}}
  
 Позволяют вам <​del>​немного побыть Сайтамой</​del>​ сохранять свои заготовки кода, для отладки в консоли разработчика или последующего вызова из [[remoteapi|RemoteAPI]]. Позволяют вам <​del>​немного побыть Сайтамой</​del>​ сохранять свои заготовки кода, для отладки в консоли разработчика или последующего вызова из [[remoteapi|RemoteAPI]].
Строка 23: Строка 25:
 ?​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|Телеграм]] о произошедших за день штуках:​
 +
 +<code php>
 +$telegramChatIds = array('​11111111',​ '​22222222'​);​
 +
 +
 +$message = '';​
 +$telegram = new UbillingTelegram();​
 +$allUserData = zb_UserGetAllData();​
 +
 +
 +//user signups
 +$userreg = new nya_userreg();​
 +$userreg->​where('​date',​ '​LIKE',​ curdate() . '​%'​);​
 +$regsCount = $userreg->​getFieldsCount();​
 +$message .= '​Користувачів зареєстровано сьогодні:​ ' . $regsCount . '\r\n ';
 +
 +//active user stats
 +if (!empty($allUserData)) {
 +    $activeUsers = 0;
 +    foreach ($allUserData as $io => $userData) {
 +        if (bb_userIsActive($userData) == 1) {
 +            $activeUsers++;​
 +        }
 +    }
 +
 +    $message .= '​Всього активних користувачів на даний момент:​ ' . $activeUsers . '\r\n ';
 +}
 +
 +//payments stats
 +$payments = new nya_payments();​
 +$payments->​where('​date',​ '​LIKE',​ curdate() . '​%'​);​
 +$payments->​where('​summ',​ '>',​ '​0'​);​
 +$paymentsCount = $payments->​getFieldsCount('​id',​ false);
 +$paymentsSum = $payments->​getFieldsSum('​summ'​);​
 +$message .= '​Сьогодні отримано ' . $paymentsCount . ' платежів на суму ' . $paymentsSum .' грн.'​. '​\r\n';​
 +
 +$payments->​where('​date',​ '​LIKE',​ curdate() . '​%'​);​
 +$payments->​where('​summ',​ '>',​ '​0'​);​
 +$payments->​where('​cashtypeid','​=','​1'​);​
 +$paymentsCount = $payments->​getFieldsCount('​id',​ false);
 +$paymentsSum = $payments->​getFieldsSum('​summ'​);​
 +$message .= 'З них готівкою ' . $paymentsCount . ' платежів на суму ' . $paymentsSum .' грн.'​. '​\r\n';​
 +
 +//payments corrections
 +$paycorr = new nya_paymentscorr();​
 +$paycorr->​where('​date',​ '​LIKE',​ curdate() . '​%'​);​
 +$allCorr = $paycorr->​getAll();​
 +if (!empty($allCorr)) {
 +    $message .= '​=========='​ . '\r\n ';
 +    $message .= '​Корегування балансу:​ ' . '\r\n ';
 +    foreach ($allCorr as $io => $each) {
 +        if (!ispos($each['​note'​],​ '​DDT'​)) {
 +            $message .= '- ' . $allUserData[$each['​login'​]]['​fulladress'​] . ', ' . $each['​summ'​]
 +                    . ' грн. (було ' . $each['​balance'​] . ' стало ' . ($each['​balance'​] + $each['​summ'​]) . ') '
 +                    . $each['​admin'​] . ' ' . $each['​note'​] . ' ' . '\r\n ';
 +        }
 +    }
 +}
 +
 +if (!empty($message)) {
 +    foreach ($telegramChatIds as $eachChatId) {
 +        $telegram->​sendMessage($eachChatId,​ $message, false, '​BIGBRO'​);​
 +        //​deb($message);​
 +    }
 +}
 +
 +function bb_userIsActive($userData) {
 +    $result = '';​
 +    if (($userData['​Cash'​] >= '​-'​ . $userData['​Credit'​]) AND ( $userData['​AlwaysOnline'​] == 1) AND ( $userData['​Passive'​] == 0) AND ( $userData['​Down'​] == 0)) {
 +        $result = 1;
 +    }
 +    if (($userData['​Cash'​] < '​-'​ . $userData['​Credit'​]) AND ( $userData['​AlwaysOnline'​] == 1) AND ( $userData['​Passive'​] == 0) AND ( $userData['​Down'​] == 0)) {
 +        $result = 0;
 +    }
 +    if (($userData['​Cash'​] < '​-'​ . $userData['​Credit'​]) AND ( $userData['​AlwaysOnline'​] == 1) AND ( $userData['​Passive'​] == 0) AND ( $userData['​Down'​] == 1)) {
 +        $result = 0;
 +    }
 +    if ($userData['​Passive'​] == 1) {
 +        $result = -1;
 +    }
 +    return ($result);
 +}
 +</​code>​
 +
 +И соответственно ее ежедневный вызов:
 +
 +<code bash>
 +59 19 * * *   /​bin/​ubapi "​onepunch&​param=bigbro"​
 +</​code>​
 +
  
onepunch.txt · Последние изменения: 2020/04/09 14:17 — nightfly