Esempio n. 1
2
 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;
 }
Esempio n. 2
0
 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);
 }
Esempio n. 3
0
 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;
 }
Esempio n. 4
0
						</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>
Esempio n. 5
0
 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();
                             }
                         }
                     }
                 }
             }
         }
     }
 }