-
Notifications
You must be signed in to change notification settings - Fork 0
/
UpdateHyversCron.php
42 lines (37 loc) · 1.41 KB
/
UpdateHyversCron.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
<?php
class UpdateHyversCron {
public static function get($url) {
set_time_limit(0);
$_SERVER['REMOTE_ADDR'] = "127.0.0.1";
if(!isset($_GET['token']) or $_GET['token'] != 'a30b51ad366de9cbe53e666a44583809') {
die;
}
$rows = DB::set('SELECT * FROM `users` WHERE `lastupdate` < NOW() - INTERVAL 1 DAY ORDER BY `lastupdate` ASC');
$users = array();
foreach($rows as $row) {
$user = HyvesUser::fromArray($row);
$users[$user->getID()] = $user;
}
if(count($users) > 0) {
if(count($users) === 1) {
$user->update();
$user->put();
} else {
$userIds = array();
foreach($users as $user) {
$userIds[] = $user->getID();
}
$userIds = implode(',', $userIds);
$result = Tools::getHyves()->doMethod('users.get', array('userid' => $userIds, 'ha_responsefields' => 'viewscount,profilepicture'));
if(isset($result->user)) {
foreach($result->user as $userResult) {
$users[(string)$userResult->userid]->updateFromXMLObject($userResult);
$users[(string)$userResult->userid]->put();
}
}
}
} else {
echo "Nothing to update";
}
}
}