if (!isset($current[$id]) || !$current[$id]['gained_time']) { echo "BADGE RECEIVED:" . $id; $last_badge_id = Badges::addBadge($action['user_id'], $action['badge_type_id'], $id, $total_progress); } } if (!$found_next && $total_progress < $existingBadge['repeat']) { $found_next = true; echo "NEXT BADGE " . $id . " TO STORE \n"; $last_badge_id = $id; } } // updating progress if (!$last_badge_id) { // не было прогресса по этому бейджу echo "NEW BADGE TO STORE\n"; $last_badge_id = Badges::getFirstBadgeId($action['badge_type_id']); } Badges::addBadgeStored($action['user_id'], $action['badge_type_id'], $last_badge_id, $total_progress); // deleting row Database::query('DELETE FROM `user_badges_actions` WHERE `user_id`=' . $action['user_id'] . ' AND `badge_type_id`=' . $action['badge_type_id'] . ' AND `time`=' . $action['time']); // if it's no any badge - add badge // set total progress for line - updating last action in line } } else { echo "\nnothing to do\n"; break; } } } else { echo "\nalready running\n"; }