public function feedMain() { $CaNotes = new NotesCa_controller(); $start = $this->request->query->get('start'); $end = $this->request->query->get('end'); //get local events $cacheName = App::$instance->tbId . ".vks.events.calendar.{$start}.{$end}"; $events = App::$instance->cache->get($cacheName); if (!$events) { $events = Vks::where('start_date_time', ">=", $start)->where('start_date_time', '<=', $end)->with("connection_codes")->whereIn('status', [VKS_STATUS_PENDING, VKS_STATUS_APPROVED])->get(); $cachedObj = new CachedObject($events, ['tag.' . $cacheName, "tag." . App::$instance->tbId . ".vks.events.calendar"]); App::$instance->cache->set($cacheName, $cachedObj, 3600 * 24 * 3); } //get events from central server if (Auth::isAdmin(App::$instance)) { //pull from central $getFromCA = Curl::get(ST::routeToCaApi("getVksWasInPeriodForTb/" . App::$instance->tbId . "/" . $start . "/" . $end)); $getFromCA = json_decode($getFromCA); if ($getFromCA && $getFromCA->status == 200) { $getFromCA = $getFromCA->data; } else { $getFromCA = array(); } //add to events container foreach ($getFromCA as $CAVks) { $CAVks->fromCa = true; $CAVks->tbFlag = $CaNotes->checkFlag($CAVks->id); $CAVks->isLinked = Vks::where('link_ca_vks_id', $CAVks->id)->count(); $events[] = $CAVks; } } $events = $this->prepareEvents($events); print json_encode($events); //output }
$app->user = new Auth(); //ST::makeDebug($init->user); //$init->MQ->setMessage($init->opt->pm); $app->tbId = CAAttendance::where('name', 'like', '%' . TB_PATTERN . '%')->where('is_tb', 1)->first()->id; header($app->opt->header); date_default_timezone_set($app->opt->timezone); //require_once('../init.php'); //start schedule here //----------------------------------------------------------------------------- $now = date_create()->setTimezone(new DateTimeZone(NODE_TIME_ZONE)); $now->modify("+25 minutes"); $now->setTime($now->format('H'), $now->format('i'), 0); $mskTime = clone $now; //dump($now); $mskTime->setTimezone(new DateTimeZone(App::$instance->opt->ca_timezone)); $CaNotes = new NotesCa_controller(); if ($now->format('i') % 15 == 0) { $events = Vks::where(function ($query) use($now) { $query->where('start_date_time', $now)->whereIn('status', [VKS_STATUS_APPROVED]); })->where(function ($query) { $query->where('flag', 1)->orWhere('record_required', 1); })->get(['id', 'start_date_time', 'end_date_time', 'title', 'record_required', 'status', 'approved_by', 'owner_id', 'is_simple', 'flag'])->toArray(); $CaEventsTmp = CAInsideParticipant::where('attendance_id', App::$instance->tbId)->with(['vks' => function ($query) use($mskTime) { $query->where('start_date_time', $mskTime)->whereIn('status', [VKS_STATUS_APPROVED]); }])->get(['vks_id']); //add to events container $CaEvents = []; foreach ($CaEventsTmp as $CAVks) { if ($CAVks->vks) { $CAVks->vks->fromCa = true; $CAVks->vks->tbFlag = $CaNotes->checkFlag($CAVks->vks->id);