function pushToStack($vks_id, $force = false) { try { $vks = Vks::approved()->notEnded()->findOrFail($vks_id); } catch (Exception $e) { $this->error('404'); } if (!OutlookCalendarRequest::where('user_id', App::$instance->user->id)->where('vks_id', $vks->id)->count()) { OutlookCalendarRequest::create(array('user_id' => App::$instance->user->id, 'vks_id' => $vks->id, 'request_type' => OutlookCalendarRequest::REQUEST_TYPE_NEW, 'send_status' => OutlookCalendarRequest::SEND_STATUS_REQUIRED)); App::$instance->log->logWrite(LOG_OTHER_EVENTS, "New Outlook request create for " . App::$instance->user->login . ', vks: ' . $vks->id); App::$instance->MQ->setMessage("Приглашение сформировано, ожидайте, отправка будет произведена в течении 2х минут"); } else { if ($force) { $reSend = OutlookCalendarRequest::where('user_id', App::$instance->user->id)->where('vks_id', $vks->id)->first(); $reSend->send_status = OutlookCalendarRequest::SEND_STATUS_REQUIRED; $reSend->save(); App::$instance->log->logWrite(LOG_OTHER_EVENTS, "New Outlook request create for " . App::$instance->user->login . ', vks: ' . $vks->id); App::$instance->MQ->setMessage("Приглашение сформировано, ожидайте, отправка будет произведена в течении 2х минут"); } else { App::$instance->MQ->setMessage("Приглашение уже отправлялось в ваш календарь, <a class='confirmation' href='" . ST::route('OutlookCalendarRequest/pushToStack/' . $vks->id . '/forced') . "'>Отправить еще раз</a>"); } } ST::redirect('back'); }
$connection->connect(); //Create and declare channel $channel = new AMQPChannel($connection); //AMQPC Exchange is the publishing mechanism $vc = new Vks_controller(); $callback_func = function (AMQPEnvelope $message, AMQPQueue $q) use(&$max_consume, $vc) { $data = json_decode($message->getBody()); print '---------------query--------------' . "\r\n"; echo sprintf(" QueueName: %s", $q->getName()), PHP_EOL; print '---------------received!--------------' . "\r\n"; try { $vks = Vks::approved()->notEnded()->findOrFail($data->vks_id); $vc->humanize($vks); $user = User::find($data->user_id); if (!OutlookCalendarRequest::where('user_id', $user->id)->where('vks_id', $vks->id)->count()) { $reSend = OutlookCalendarRequest::create(array('user_id' => $user->id, 'vks_id' => $vks->id, 'request_type' => $data->request_type, 'send_status' => OutlookCalendarRequest::SEND_STATUS_COMPLETED)); App::$instance->log->logWrite(LOG_OTHER_EVENTS, "New Outlook request create for " . $user->id . ', vks: ' . $vks->id); } else { if ($data->force) { $reSend = OutlookCalendarRequest::where('user_id', $user->id)->where('vks_id', $vks->id)->first(); $reSend->request_type = $data->request_type; $reSend->send_status = OutlookCalendarRequest::SEND_STATUS_COMPLETED; $reSend->save(); App::$instance->log->logWrite(LOG_OTHER_EVENTS, "New Outlook request create for " . $user->id . ', vks: ' . $vks->id); } else { echo sprintf("Outlook Request to: user_id %s, and vks_id %s already sended, no force KEY detected", $data->user_id, $data->vks_id), PHP_EOL; } } Mail::sendIcalEvent($vks, $reSend->request_type, $user); App::$instance->log->logWrite(LOG_MAIL_SENDED, 'Outlook event invite sended to: ' . $user->email); } catch (Exception $e) {