/** * @inheritdoc */ public function disableContentContainer(ContentContainerActiveRecord $container) { parent::disableContentContainer($container); foreach (CalendarEntry::find()->contentContainer($container)->all() as $entry) { $entry->delete(); } foreach (CalendarExternalSource::find()->contentContainer($container)->all() as $entry) { $entry->delete(); } }
public static function onHourlyCron($event) { $controller = $event->sender; $controller->stdout("Sync external events... "); $sources = CalendarExternalSource::find()->orderBy('last_update')->limit(20); foreach ($sources->each() as $source) { $source->updateEvents(); } $controller->stdout('done.' . PHP_EOL, \yii\helpers\Console::FG_GREEN); }
/** * Action that deletes a given external source.<br /> * The request has to provide the id of the external source to delete in the url parameter 'external_source_id'. * @throws HttpException 404, if the logged in User misses the rights to access this view. */ public function actionDelete() { $external_source_id = (int) Yii::$app->request->get('external_source_id'); $external_source = CalendarExternalSource::find()->contentContainer($this->contentContainer)->where(array('calendar_external_source.id' => $external_source_id))->one(); if ($external_source == null) { throw new HttpException(404, Yii::t('CalendarModule.base', 'Requested external source could not be found.')); } $external_source->delete(); $this->redirect($this->contentContainer->createUrl('/calendar/external-source/index')); }
public function actionIndex() { // Restore users last selectors $lastSelectorsJson = Yii::$app->user->getIdentity()->getSetting('lastSelectors', 'calendar'); if ($lastSelectorsJson != "") { $selectors = Json::decode($lastSelectorsJson); } else { $selectors = array(ActiveQueryContent::USER_RELATED_SCOPE_OWN, ActiveQueryContent::USER_RELATED_SCOPE_SPACES); } // Restore users last used filter $lastFilterJson = Yii::$app->user->getIdentity()->getSetting('lastFilters', 'calendar'); if ($lastFilterJson != "") { $filters = Json::decode($lastFilterJson); } else { $filters = array(); } $spaces = Membership::GetUserSpaces(); $external_sources = CalendarExternalSource::find()->contentContainer(Yii::$app->user->getIdentity())->all(); return $this->render('index', array('selectors' => $selectors, 'filters' => $filters, 'spaces' => $spaces, 'external_sources' => $external_sources, 'user' => Yii::$app->user->getIdentity())); }
<?php } ?> <div class="panel-body"> <?php $form = CActiveForm::begin(); $form->errorSummary($external_source); ?> <div class="form-group"> <?php echo $form->labelEx($external_source, 'source_type'); ?> <?php echo $form->dropdownList($external_source, 'source_type', CalendarExternalSource::getSourceTypes(), array('class' => 'form-control', 'rows' => '5')); ?> </div> <div class="form-group"> <?php echo $form->labelEx($external_source, 'name'); ?> <?php echo $form->textField($external_source, 'name', array('class' => 'form-control')); ?> <?php echo $form->error($external_source, 'name'); ?> </div>