Esempio n. 1
0
 public function getEventById($event_id)
 {
     $lng = isset($_SESSION['System']['lng']) ? $_SESSION['System']['lng'] : 'nl';
     $db = Zend_Registry::get('db');
     $select = $db->select()->from(array('e' => 'Event'), array('*'))->join(array('t' => 'EventTsl'), 'e.event_id = t.event_id', array('language', 'title', 'description', 'mail_remember', 'mail_confirmation'))->where('e.event_id = ?', (int) $event_id)->where('t.language = ?', $lng);
     $results = $db->fetchAll($select);
     if (!$results) {
         return false;
     }
     $result = $results[0];
     $date = explode(' ', $result['datetime_event']);
     $event = new SxCms_Event();
     $event->setId((int) $result['event_id'])->setLanguage($result['language'])->setTitle($result['title'])->setDescription($result['description'])->setDateEvent($date[0])->setTimeEvent($date[1])->setLocation($result['location'])->setMailRemember($result['mail_remember'])->setMailConfirmation($result['mail_confirmation'])->setSubscriptionAllow($result['subscription_allow'])->setSubscriptionMax($result['subscription_max'])->setNotifyEmail($result['notify_email'])->setDateStart($result['date_start'])->setDateEnd($result['date_end'])->setRememberDays($result['remember_days'])->setConfirmationLink($result['confirmation_link'])->setValidateIntern($result['validate_intern']);
     $proxy = new SxCms_Event_Field_DataMapper();
     $proxy->getFieldByEvent($event);
     return $event;
 }
 public function exportAction()
 {
     SxCms_Acl::requireAcl('subscriptions', 'subscription.export');
     $event_id = $this->_getParam('id');
     $eventMapper = new SxCms_Event_DataMapper();
     $event = $eventMapper->getEventById($event_id);
     $subProxy = new SxCms_Event_Subscription_DataMapper();
     $subscriptions = $subProxy->getValidSubscriptionsForEvent($event_id);
     $fieldProxy = new SxCms_Event_Field_DataMapper();
     $fields = $fieldProxy->getFieldsByEvent($event_id);
     $objPHPExcel = new PHPExcel();
     $objPHPExcel->createSheet("Event Subsciptions");
     $objPHPExcel->setActiveSheetIndex(0);
     $objPHPSheet = $objPHPExcel->getActiveSheet();
     $objPHPSheet->setCellValueByColumnAndRow(0, 1, $this->admin_tmx->_('subscriptionsforevent') . $event->getTitle());
     $i = 0;
     foreach ($fields as $field) {
         $objPHPSheet->setCellValueByColumnAndRow($i, 2, $field->getLabel());
         $i++;
     }
     $j = 3;
     foreach ($subscriptions as $subscription) {
         $i = 0;
         foreach ($fields as $field) {
             $objPHPSheet->setCellValueByColumnAndRow($i, $j, $subscription[$field->getName()]);
             $i++;
         }
         $j++;
     }
     $file = "sub_" . date("d_m_Y") . ".xls";
     header("Pragma: public");
     header("Expires: 0");
     header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
     header("Content-Type: application/force-download");
     header("Content-Type: application/octet-stream");
     header("Content-Type: application/download");
     header("Content-Disposition: attachment; filename={$file}");
     header("Content-Transfer-Encoding: binary");
     error_reporting(0);
     $objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);
     $objWriter->setTempDir(APPLICATION_ROOT . '/tmp');
     $objWriter->save("php://output");
     die;
 }