Esempio n. 1
0
 /**
  * Is feedback open? Feedback is open when the feedback codes are sent and the
  * feedback closing date has not passed
  *
  * @return	mixed	boolean on false or Zend_Date on true
  */
 public function isFeedbackOpen()
 {
     $eventlogModel = new Core_Model_Eventlog();
     if (false === ($feedbackSent = $eventlogModel->getTimestampByType('Core_FeedbackController::mailallAction'))) {
         return false;
     }
     $date = new Zend_Date();
     if ($date->isLater($feedbackSent) && $date->isEarlier($this->_conference['feedback_end'], Zend_Date::ISO_8601)) {
         return $date;
     }
     return false;
 }
Esempio n. 2
0
 /**
  * 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()'));
     }
 }
Esempio n. 3
0
 /**
  * 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');
 }
Esempio n. 4
0
 /**
  * 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()'));
     }
 }
Esempio n. 5
0
 /**
  * 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()'));
     }
 }
Esempio n. 6
0
 public function _postSent(TA_Model_Observed_Interface $subject, $msg)
 {
     $eventlogModel = new Core_Model_Eventlog();
     $eventlogModel->saveEventlog(array('event_type' => $this->_type, 'timestamp' => 'now()'));
 }
Esempio n. 7
0
 /**
  * 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()'));
     }
 }