%PDF- %PDF-
Direktori : /home/vacivi36/intranet.vacivitta.com.br/protected/humhub/modules/live/driver/ |
Current File : /home/vacivi36/intranet.vacivitta.com.br/protected/humhub/modules/live/driver/Poll.php |
<?php /** * @link https://www.humhub.org/ * @copyright Copyright (c) 2017 HumHub GmbH & Co. KG * @license https://www.humhub.com/licences */ namespace humhub\modules\live\driver; use Yii; use yii\helpers\Json; use yii\helpers\Url; use humhub\modules\live\driver\BaseDriver; use humhub\modules\live\components\LiveEvent; use humhub\modules\live\models\Live; /** * Database driver for live events * * @since 1.2 * @author Luke */ class Poll extends BaseDriver { /** * Defines the minimum polling interval in seconds if the default polling client is active. */ public $minPollInterval = 15; /** * Defines the maximum polling interval in seconds if the default polling client is active. */ public $maxPollInterval = 45; /** * Factor used in the actual interval calculation in case of user idle. */ public $idleFactor = 0.1; /** * Interval for updating the update delay in case of user idle in seconds. */ public $idleInterval = 20; /** * @var int seconds to delete old live events */ public $maxLiveEventAge = 600; /** * @inheritdoc */ public function send(LiveEvent $liveEvent) { $model = new Live(); $model->serialized_data = serialize($liveEvent); $model->created_at = time(); $model->visibility = $liveEvent->visibility; $model->contentcontainer_id = $liveEvent->contentContainerId; $model->created_at = time(); return $model->save(); } /** * @inheritdoc */ public function getJsConfig() { return [ 'type' => 'humhub.modules.live.poll.PollClient', 'options' => [ 'url' => Url::to(['/live/poll']), 'initTime' => time(), 'minInterval' => $this->minPollInterval, // Minimal polling request interval in seconds. 'maxInterval' => $this->maxPollInterval, // Maximal polling request interval in seconds. 'idleFactor' => $this->idleFactor, // Factor used in the actual interval calculation in case of user idle. 'idleInterval' => $this->idleInterval // Interval for updating the update delay in case of user idle in seconds. ] ]; } }