public function actionSimilar() { $exists = false; $upsert = false; $reason = ""; $params = Yii::$app->getRequest()->getQueryParams(); $_fb_source_id = 18; $_venue_ids = isset($params['venue_id']) ? $params['venue_id'] : "1"; $_venue_id_arr = explode(',', $_venue_ids); $_startDate = isset($params['startDate']) ? $params['startDate'] : ''; $_endDate = isset($params['endDate']) ? $params['endDate'] : ''; $_startTime = isset($params['startTime']) ? $params['startTime'] : ''; $_endTime = isset($params['endTime']) ? $params['endTime'] : ''; $events = Event::getSimilarEvents($params); if (sizeof($events)) { // if source type == facebook // if // fb_event_id is same => update // else // fb_event_id is diff => insert () // // if venue is different => unpublish (pass) // if timings are different => unpublish (pass) foreach ($events as $event) { $venues = $event['venues']; $source_id = $event['sourceId']; $startDate = isset($params['startDate']) ? $params['startDate'] : ''; $endDate = isset($params['endDate']) ? $params['endDate'] : ''; $startTime = isset($params['startTime']) ? $params['startTime'] : ''; $endTime = isset($params['endTime']) ? $params['endTime'] : ''; if ($_startDate == $startDate && $_endDate == $endDate && $_startTime == $startTime && $_endTime == $endTime) { foreach ($venues as $venue) { if (in_array($venue['Id'], $_venue_id_arr)) { if ($_fb_source_id == $source_id) { $upsert = true; } else { $exists = true; } } } } } } if (!$exists) { $state = "unpublish"; $reason = "Seems to be a new event"; } else { if ($upsert) { $state = "unpublish"; $reason = "Previously added facebook event set to be updated"; } else { $state = "abort"; $reason = "duplicate event found"; } } return array('state' => $state, 'reason' => $reason); }