Программирование, веб-кодинг

Yii2: Добавить в Google Calendar. Кнопка на сайте для добавления в календарь Google

В представлении даём ссылку на действие в контроллере

Html::a(
'Добавить в Google Calendar',
['event/addtogooglecalendar', 'id'=>$model->id]
);

И в контроллере добавляем действие

public function actionAddtogooglecalendar($id)
{
$model = $this->findModel($id);

$dt = new \DateTime($model->when_date." ".$model->when_time, new \DateTimeZone("UTC"));
$dt2 = new \DateTime($model->when_date." ".$model->when_time, new \DateTimeZone("UTC"));
$dtend = $dt2->add(new \DateInterval('PT2H'))->format(self::DATETIME_FORMAT);

$dt->createFromFormat('Y-m-d H:i:s', $model->when_date." ".$model->when_time);
$dtstart = $dt->format(self::DATETIME_FORMAT);


$text = $model->who."__".$model->what;
$dates = $dtstart."/".$dtend;
$location = $model->where;
$details = $model->clubName."\n\r".$model->link;

return $this->redirect('https://calendar.google.com/calendar/r/eventedit?' . http_build_query(['text' => $text, 'dates'=>$dates, 'location'=>$location, 'details'=>$details]));
}

Теперь по нажатию на ссылку "Добавить в Google Calendar" вызовется действие, которое перенаправит пользователя по ссылке на добавление события в его google календарь, и ему откроется страница с заполненными полями формы добавления. Он это подтверждает, или, если нужно, редактирует инфу и создает событие.