Skip to content
Snippets Groups Projects
SchedulerController.php 1.49 KiB
Newer Older
/**
 * @copyright  2021 Podlibre
 * @license    https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
 * @link       https://castopod.org/
 */


use CodeIgniter\Controller;

class SchedulerController extends Controller
{
    {
        // retrieve scheduled activities from database
        $scheduledActivities = model('ActivityModel')
            ->getScheduledActivities();

        // Send activity to all followers
        foreach ($scheduledActivities as $scheduledActivity) {
            if ($scheduledActivity->target_actor_id !== null) {
                // send activity to targeted actor
                send_activity_to_actor(
                    $scheduledActivity->actor,
                    $scheduledActivity->targetActor,
                    json_encode($scheduledActivity->payload, JSON_THROW_ON_ERROR)
                );
            } else {
                // send activity to all actor followers
                send_activity_to_followers(
                    $scheduledActivity->actor,
                    json_encode($scheduledActivity->payload, JSON_THROW_ON_ERROR),
                );
            }
            model('ActivityModel')
                ->update($scheduledActivity->id, [