public function exportDaytime() { $app = JFactory::getApplication(); $modelCalendar = new EstivoleModelCalendar(); $modelDaytime = new EstivoleModelDaytime(); $modelServices = new EstivoleModelServices(); $daytimeid = $app->input->get('daytime_id'); $daytime = $modelDaytime->getDaytime($daytimeid); $calendar = $modelCalendar->getItem($daytime->calendar_id); $this->services = $modelServices->getServicesByDaytime($daytime->daytime_day); // Create new PHPExcel object $objPHPExcel = new PHPExcel(); // Set document properties $objPHPExcel->getProperties()->setCreator("Estivale Open Air")->setLastModifiedBy("Estivole")->setTitle("Export Estivole")->setSubject("Export des tranches horaires Estivole"); // Add some data $objPHPExcel->setActiveSheetIndex(0)->setCellValue("A1", "Plan de travail Estivale Open Air - Calendrier " . $calendar->name); // // Miscellaneous glyphs, UTF-8 $objPHPExcel->setActiveSheetIndex(0)->setCellValue("A2", date('d-m-Y', strtotime($daytime->daytime_day))); // Rename worksheet $objPHPExcel->getActiveSheet()->setTitle("Export"); // Set active sheet index to the first sheet, so Excel opens this as the first sheet $objPHPExcel->setActiveSheetIndex(0); $cellCounter = 4; // Add data for ($i = 0; $i < count($this->services); $i++) { $objPHPExcel->getActiveSheet()->setCellValue("A" . $cellCounter, $this->services[$i]->service_name); $this->daytimes = $modelDaytime->listItemsForExport($this->services[$i]->service_id); foreach ($this->daytimes as $daytime) { $userId = $daytime->user_id; $userProfileEstivole = EstivoleHelpersUser::getProfileEstivole($userId); $userProfile = JUserHelper::getProfile($userId); $user = JFactory::getUser($userId); $objPHPExcel->getActiveSheet()->setCellValue("A" . ($cellCounter + 1), $userProfileEstivole->profilestivole['lastname'] . ' ' . $userProfileEstivole->profilestivole['firstname'])->setCellValueExplicit("B" . ($cellCounter + 1), $userProfile->profile['phone'], PHPExcel_Cell_DataType::TYPE_STRING)->setCellValue("C" . ($cellCounter + 1), $user->email)->setCellValue("D" . ($cellCounter + 1), date('H:i', strtotime($daytime->daytime_hour_start)))->setCellValue("E" . ($cellCounter + 1), date('H:i', strtotime($daytime->daytime_hour_end))); $cellCounter++; } $cellCounter = $cellCounter + 2; } // Redirect output to a client’s web browser (Excel2007) header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); header("Content-Disposition: attachment;filename=\"01simple.xlsx\""); header("Cache-Control: max-age=0"); // If you"re serving to IE 9, then the following may be needed header("Cache-Control: max-age=1"); // If you"re serving to IE over SSL, then the following may be needed header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // always modified header("Cache-Control: cache, must-revalidate"); // HTTP/1.1 header("Pragma: public"); // HTTP/1.0 $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, "Excel2007"); $objWriter->save("php://output"); exit; }
function display($tpl = null) { $app = JFactory::getApplication(); $model = new EstivoleModelMember(); $this->state = $this->get('State'); $this->member = $this->get('Item'); $this->form = $this->get('Form'); $userId = $this->member->user_id; if ($userId != '') { $this->user = JFactory::getUser($userId); } else { $this->user = null; } $this->userProfile = JUserHelper::getProfile($userId); $this->userProfilEstivole = EstivoleHelpersUser::getProfilEstivole($userId); if ($this->member->member_id != null) { $modelCalendars = new EstivoleModelCalendars(); $modelDaytime = new EstivoleModelDaytime(); $this->calendars = $modelCalendars->listItems(); for ($i = 0; $i < count($this->calendars); $i++) { $this->calendars[$i]->member_daytimes = $modelDaytime->getMemberDaytimes($this->member->member_id, $this->calendars[$i]->calendar_id); } } $this->addToolbar(); //display return parent::display($tpl); }
public function exportMembersShirts() { $app = JFactory::getApplication(); $service_id = $app->input->get('service_id', null); $model = new EstivoleModelMembers(); $modelDaytime = new EstivoleModelDaytime(); $modelService = new EstivoleModelService(); $service = $modelService->getItem($service_id); $service_name = $service->service_name != '' ? $service->service_name : 'Tous les membres'; $this->members = $model->getTotalItemsForExport(); for ($i = 0; $i < count($this->members); $i++) { $this->members[$i]->member_daytimes = $modelDaytime->getMemberDaytimes($this->members[$i]->member_id, $this->calendars[0]->calendar_id); } // Create new PHPExcel object $objPHPExcel = new PHPExcel(); // Set document properties $objPHPExcel->getProperties()->setCreator("Estivale Open Air")->setLastModifiedBy("Estivole")->setTitle("Export Estivole")->setSubject("Export des bénévoles Estivole"); // Add some data $objPHPExcel->setActiveSheetIndex(0)->setCellValue("A1", "Plan de travail Estivale Open Air - Bénévoles"); // $this->state = $this->get('State'); // $this->filter_services = $this->state->get('filter.services_members'); $objPHPExcel->getActiveSheet()->setCellValue("A2", "Export membres \"" . $service_name . "\""); // // Miscellaneous glyphs, UTF-8 $objPHPExcel->getActiveSheet()->setCellValue("A4", "Nom")->setCellValue("B4", "Email")->setCellValue("C4", "Téléphone")->setCellValue("D4", "Nbre t-shirts")->setCellValue("E4", "Taille t-shirts"); // Rename worksheet $objPHPExcel->getActiveSheet()->setTitle("Export"); $cellCounter = 5; // Add data for ($i = 0; $i < count($this->members); $i++) { $userId = $this->members[$i]->user_id; $userProfileEstivole = EstivoleHelpersUser::getProfileEstivole($userId); $userProfile = JUserHelper::getProfile($userId); $user = JFactory::getUser($userId); $objPHPExcel->getActiveSheet()->setCellValue("A" . ($cellCounter + 1), $userProfileEstivole->profilestivole['lastname'] . ' ' . $userProfileEstivole->profilestivole['firstname'])->setCellValue("B" . ($cellCounter + 1), $user->email)->setCellValueExplicit("C" . ($cellCounter + 1), $userProfile->profile['phone'], PHPExcel_Cell_DataType::TYPE_STRING)->setCellValue("D" . ($cellCounter + 1), round(count($this->members[$i]->member_daytimes) / 2))->setCellValue("E" . ($cellCounter + 1), $userProfileEstivole->profilestivole['tshirtsize']); $cellCounter++; } // Redirect output to a client’s web browser (Excel2007) header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); header("Content-Disposition: attachment;filename=\"01simple.xlsx\""); header("Cache-Control: max-age=0"); // If you"re serving to IE 9, then the following may be needed header("Cache-Control: max-age=1"); // If you"re serving to IE over SSL, then the following may be needed header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // always modified header("Cache-Control: cache, must-revalidate"); // HTTP/1.1 header("Pragma: public"); // HTTP/1.0 $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, "Excel2007"); $objWriter->save("php://output"); exit; }
</th> <th class="center"> <?php echo JText::_('Actions'); ?> </th> </tr> </thead> <tbody> <?php $itemNumber = $this->limitstart; foreach ($this->members as $i => $item) { $userId = $item->user_id; $user = JFactory::getUser($userId); $userProfile = JUserHelper::getProfile($userId); $userProfilEstivole = EstivoleHelpersUser::getProfilEstivole($userId); $itemNumber++; ?> <tr class="row<?php echo $i % 2; ?> "> <td class="center hidden-phone"> <?php echo JHtml::_('grid.id', $i, $item->member_id); ?> </td> <td><?php echo $itemNumber; ?> </td>
public function execute($task = null) { $app = JFactory::getApplication(); $modelName = $app->input->get('model', 'Member'); // Required objects $input = JFactory::getApplication()->input; // Get the form data $this->formData = new JRegistry($input->get('jform', '', 'array')); //Get model class $this->model = $this->getModel($modelName); if ($task == 'deleteAvailibility') { $member_daytime_id = $input->get('member_daytime_id'); $this->deleteAvailibility($member_daytime_id); } else { if ($task == 'delete') { $member_id = $input->get('member_id'); $this->delete($member_id); } else { if ($task == 'add') { parent::add(); } else { if ($task == 'edit') { parent::edit(); } else { if ($task == 'apply') { if ($this->formData['member_id'] == null) { $result = EstivoleHelpersUser::registerUser($this->formData['profilestivole.firstname'] . ' ' . $this->formData['profilestivole.lastname'], $this->formData['username'], $this->formData['email'], 'est1val3', null, $this->formData); } else { $result = EstivoleHelpersUser::updateUser($this->formData['profilestivole.firstname'] . ' ' . $this->formData['profilestivole.lastname'], $this->formData['username'], $this->formData['email'], $this->formData); } if ($result->success) { $app->enqueueMessage('Profil enregistré avec succès!'); $app->redirect('index.php?option=com_estivole&view=member&layout=edit&task=member.edit&controller=member&member_id=' . $result->member_id); } else { $app->enqueueMessage($result->message, 'error'); $app->redirect($_SERVER['HTTP_REFERER']); } } else { if ($task == 'save') { if ($this->formData['member_id'] == null) { $result = EstivoleHelpersUser::registerUser($this->formData['profilestivole.firstname'] . ' ' . $this->formData['profilestivole.lastname'], $this->formData['username'], $this->formData['email'], 'est1val3', null, $this->formData); } else { $result = EstivoleHelpersUser::updateUser($this->formData['profilestivole.firstname'] . ' ' . $this->formData['profilestivole.lastname'], $this->formData['username'], $this->formData['email'], $this->formData); } if ($result->success) { $app->enqueueMessage('Profil enregistré avec succès!'); $app->redirect('index.php?option=com_estivole&view=members'); } else { $app->enqueueMessage($result->message, 'error'); $app->redirect($_SERVER['HTTP_REFERER']); } } else { if ($task == 'cancel') { parent::cancel(); } else { $this->display(); } } } } } } } }