forked from LimyDesign/api.cnamrf.ru
-
Notifications
You must be signed in to change notification settings - Fork 0
/
cron.php
62 lines (56 loc) · 2.48 KB
/
cron.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?php
require_once(__DIR__.'/src/Staff.php');
$conf = json_decode(file_get_contents(__DIR__.'/config.json'), true);
$options = getopt("hb");
if (empty($options)) {
echo "Для справки по использованию приложения запустите с параметром:\n";
echo "\tphp ".basename(__FILE__)." -h\n";
exit();
} elseif (isset($options['h'])) {
echo "Специальный чарджер балансов клиентов CNAM РФ и Lead4CRM.\n";
echo "Для использования данного приложения необходимо в CRON\n";
echo "добавить следующую строку для ежедневного выполнения:\n";
echo "\tphp ".__DIR__."/cron.php -b\n";
exit();
} elseif (isset($options['b'])) {
$staff = new Staff($conf['db']['username'], $conf['db']['password'], $conf['db']['host'], $conf['db']['database'], $conf['db']['type']);
echo log_data()." Выполняем проверку на уведомление пользователей...\n";
echo resultRenewal($staff);
}
function resultRenewal($staff, $mode = false) {
$result = $staff->renewal($mode);
$msg = array();
if ($mode) {
if (!empty($result)) {
$msg[] = log_data()." Обновление тарифов выполнено для следующих пользователей:\n";
foreach ($result as $userid => $details) {
foreach ($details as $data) {
$sum = 0;
if (isset($data['renew_sum_1'])) $sum += $data['renew_sum_1'];
if (isset($data['renew_sum_2'])) $sum += $data['renew_sum_2'];
$msg[] = log_data()."\t У пользователя #".$userid." было снято ".$sum." руб.\n";
}
}
} else {
$msg[] = log_data()." Нет пользователей для обновления тарифов.\n";
}
} else {
if (!empty($result)) {
$msg[] = log_data()." Отправляем пользователям уведомления:\n";
foreach ($result as $userid => $details) {
foreach ($details as $data) {
$msg[] = log_data()."\t Пользователь #".$userid." получил уведомление.\n";
}
}
} else {
$msg[] = log_data()." Нет пользователей для уведомления.\n";
}
$msg[] = log_data()." Переключаемся на проверку реальных обновлений...\n";
$msg[] = resultRenewal($staff, true);
}
return implode('', $msg);
}
function log_data() {
return "[".date('Y-m-d H:i:s')."]";
}
?>