// get visitor
$visitor = \XF::visitor();
foreach ($results as $result)
{
// add username to title
$title = str_replace('{username}', $result['username'], $titleOriginal);
// add username to message
$message = str_replace('{username}', $result['username'], $messageOriginal);
$em = \XF::em();
$forum = $em->find('XF:Forum', $forumId);
$user = \XF::app()->find('XF:User', $starterUserId);
// if cron entry is run normally
if ($visitor['user_id'] == 0)
{
\XF::asVisitor($user, function() use ($forum, $title, $message)
{
$creator = \XF::service('XF:Thread\Creator', $forum);
$creator->setContent($title, $message);
$creator->setPrefix($forum['default_prefix_id']);
$creator->setIsAutomated();
$thread = $creator->save();
});
}
// if cron entry is run manually
if ($visitor['user_id'] > 0)
{
$creator = \XF::service('XF:Thread\Creator', $forum);
$creator->setContent($title, $message);
$creator->setPrefix($forum['default_prefix_id']);
$creator->setIsAutomated();
$thread = $creator->save();
}
$userId = $result['user_id'];
$user = \XF::app()->find('XF:User', $userId);
$alertRepo = \XF::app()->repository('XF:UserAlert');
$alertRepo->alert($user, $starterUserId, $starterUsername, 'post', $thread->first_post_id, 'mention');
}