%PDF- %PDF-
| Direktori : /home/vacivi36/intranet.vacivitta.com.br/protected/modules/rest/definitions/ |
| 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 '';
}
}
}