Files
XenForoRomhackPlazaAddon/Pub/Controller/Webhook.php
2026-05-24 11:53:11 +02:00

36 lines
969 B
PHP

<?php
namespace RomhackPlaza\Master\Pub\Controller;
use XF\Mvc\Controller;
use XF\Mvc\Reply\AbstractReply;
class Webhook extends Controller
{
public function actionUpdateUserEntryCount(): AbstractReply
{
$this->assertPostOnly();
$token = $this->filter('_token', 'str');
$secret = \XF::options()->rhpz_webhook_secret ?? '';
if( !$secret || !hash_equals($secret, $token) ){
return $this->error('Unauthorized', 401);
}
$userId = $this->filter('user_id', 'uint');
$count = $this->filter('count', 'uint');
$user = \XF::em()->find('XF:User', $userId);
if( !$user ){
return $this->error('User not found', 404);
}
$user->rhpz_entry_count = $count;
$user->save();
$trophyService = \XF::service('XF:Trophy\Notify', $user);
$trophyService->checkAndAwardTrophies();
return $this->apiSuccess(['count' => $count]);
}
}