%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/vacivi36/intranet.vacivitta.com.br/protected/modules/rest/definitions/
Upload File :
Create Path :
Current File : /home/vacivi36/intranet.vacivitta.com.br/protected/modules/rest/definitions/ActivityDefinitions.php

<?php
/**
 * @link https://www.humhub.org/
 * @copyright Copyright (c) 2019 HumHub GmbH & Co. KG
 * @license https://www.humhub.com/licences
 */

namespace humhub\modules\rest\definitions;

use humhub\components\rendering\ViewPathRenderer;
use humhub\modules\activity\models\Activity;
use Yii;
use yii\base\Exception;

class ActivityDefinitions
{
    public static function getActivity(Activity $activity)
    {
        $baseActivity = $activity->getActivityBaseClass();

        return [
            'id' => $activity->id,
            'class' => $activity->class,
            'content' => static::getActivityContent($activity, $baseActivity),
            'originator' => UserDefinitions::getUserShort($baseActivity->originator),
            'source' => SourceDefinitions::getSource($baseActivity->source),
            'createdAt' => $activity->content->created_at
        ];
    }

    private static function getActivityContent($activity, $baseActivity)
    {
        return [
            'id' => $activity->content->id,
            'guid' => $activity->content->guid,
            'pinned' => (boolean) $activity->content->pinned,
            'archived' => (boolean) $activity->content->archived,
            'output' => static::getActivityOutput($baseActivity),
        ];
    }
    
    private static function getActivityOutput($baseActivity)
    {
        try {
            return (new ViewPathRenderer())->renderView($baseActivity, $baseActivity->getViewParams());
        } catch (Exception $exception) {
            Yii::error('Could not render activity output. ' . $exception->getMessage(), 'api');
            return '';
        }
    }
}

Zerion Mini Shell 1.0