/** * Synchronize sessions with Google Calendar * */ public function syncAction() { $request = $this->getRequest(); $ack = $request->getParam('ack'); $this->view->sessions = $this->_sessionModel->getAllSessionData()->count(); if ($ack) { $googleEvent = new Core_Service_GoogleEvent(); $this->view->response = $response = $googleEvent->insertBatch($this->_sessionModel->getAllSessionData()->toArray()); // persist google uid in resource $this->_sessionModel->saveSessions($response); $eventlogModel = new Core_Model_Eventlog(); $eventlogModel->saveEventlog(array('event_type' => __METHOD__, 'timestamp' => 'now()')); } }
/** * Import submissions to presentations * The title of a submission is used as the title of a presentation * */ public function importAction() { $request = $this->getRequest(); $submissionModel = new Core_Model_Submit(); $conference = Zend_Registry::get('conference'); // No post; display form if (!$request->isPost()) { $this->view->importForm = $this->_presentationModel->getForm('submitImport')->setDefaults(array('status' => 1, 'submit_start' => $conference['submit_start']->get('dd/MM/yyyy'), 'submit_end' => $conference['submit_end']->get('dd/MM/yyyy'))); return $this->render('formImport'); } if ($import = $this->_presentationModel->linkSubmissions($submissionModel->getAcceptedSubmissions($request->getPost()), $request->getPost())) { $this->_helper->flashMessenger('Succesfully imported ' . count($import) . ' submissions'); $eventlogModel = new Core_Model_Eventlog(); $eventlogModel->saveEventlog(array('event_type' => __METHOD__, 'timestamp' => 'now()')); } else { $this->_helper->flashMessenger('No submissions to import'); } // everything went OK, redirect return $this->_helper->redirector->gotoRoute(array('controller' => 'presentation', 'action' => 'list'), 'grid'); }
/** * Send email to all reviewers * * @return void */ public function mailAction() { $request = $this->getRequest(); $this->view->reminder = $reminder = $request->getParam('reminder'); if (false == ($reviewers = $this->_reviewModel->getReviewersForMail($reminder))) { return; } $this->view->reviewers = count($reviewers); $this->view->dummy = $request->getParam('dummy'); if (!$request->isPost()) { $this->view->mailForm = $this->_reviewModel->getForm('reviewMail'); if ($reminder) { $this->view->mailForm->setAction('/core/review/mail/reminder/1'); } return $this->render(); } $conference = Zend_Registry::get('conference'); Zend_Controller_Action_HelperBroker::addHelper(new TA_Controller_Action_Helper_SendEmail()); $emailHelper = $this->_helper->sendEmail; $this->view->sent = array(); $template = $reminder ? 'review/massmail-reminder' : 'review/massmail'; foreach ($reviewers as $review) { $emailHelper->sendEmail(array('dummy' => $request->getParam('dummy'), 'template' => $template, 'html' => true, 'subject' => $conference['abbreviation'] . ' Review', 'to_email' => $review['email'], 'to_name' => $review['fname'] . ' ' . $review['lname']), $review); $this->view->sent[] = array('email' => $review['email']); } if ($this->view->dummy == 0) { $eventlogModel = new Core_Model_Eventlog(); $eventlogModel->saveEventlog(array('event_type' => $reminder ? 'mail_reviewers-reminder' : 'mail_reviewers', 'timestamp' => 'now()')); } }
/** * Send email to accepted/rejected papers * * @return void */ public function mailAction() { $request = $this->getRequest(); $id = $request->getParam('id'); if (false == ($submitters = $this->_submitModel->getSubmissionsForMail($id))) { return; } $this->view->submissions = count($submitters); $this->view->status = $id; $this->view->dummy = $request->getParam('dummy'); if (!$request->isPost()) { $this->view->mailForm = $this->_submitModel->getForm('submitMail'); $this->view->mailForm->setDefaults(array('id' => $id)); return $this->render(); } $conference = Zend_Registry::get('conference'); Zend_Controller_Action_HelperBroker::addHelper(new TA_Controller_Action_Helper_SendEmail()); $emailHelper = $this->_helper->sendEmail; $this->view->sent = array(); $template = $id == 1 ? 'submit/accept' : 'submit/reject'; foreach ($submitters as $submit) { $emailHelper->sendEmail(array('dummy' => $request->getParam('dummy'), 'template' => $template, 'html' => true, 'subject' => $conference['abbreviation'] . ':' . $submit['title'], 'to_email' => $submit['email'], 'to_name' => $submit['fname'] . ' ' . $submit['lname']), $submit); $this->view->sent[] = array('email' => $submit['email'], 'title' => $submit['title']); } if ($this->view->dummy == 0) { $eventlogModel = new Core_Model_Eventlog(); $eventlogModel->saveEventlog(array('event_type' => $id == 1 ? 'mail_accepted' : 'mail_rejected', 'timestamp' => 'now()')); } }
public function _postSent(TA_Model_Observed_Interface $subject, $msg) { $eventlogModel = new Core_Model_Eventlog(); $eventlogModel->saveEventlog(array('event_type' => $this->_type, 'timestamp' => 'now()')); }
/** * Send out feedback codes to all conference participants * */ public function mailallAction() { $request = $this->getRequest(); if (false == ($participants = $this->_feedbackModel->getParticipants())) { return; } $this->view->participants = $participants; $this->view->dummy = $request->getParam('dummy'); if (!$request->isPost()) { $this->view->mailForm = $this->_feedbackModel->getForm('feedbackMail'); return $this->render(); } $conference = Zend_Registry::get('conference'); Zend_Controller_Action_HelperBroker::addHelper(new TA_Controller_Action_Helper_SendEmail()); $emailHelper = $this->_helper->sendEmail; $this->view->sent = array(); foreach ($participants as $participant) { $emailHelper->sendEmail(array('dummy' => $request->getParam('dummy'), 'template' => 'feedback/codes', 'html' => true, 'subject' => strtoupper($conference['abbreviation']) . ' Feedback', 'to_email' => $participant['email'], 'to_name' => $participant['fname'] . ' ' . $participant['lname']), $participant); $this->view->sent[] = array('email' => $participant['email']); } // save event log if ($this->view->dummy == 0) { $eventlogModel = new Core_Model_Eventlog(); $eventlogModel->saveEventlog(array('event_type' => __METHOD__, 'timestamp' => 'now()')); } }