コード例 #1
0
ファイル: view.html.php プロジェクト: gorgozilla/Estivole
 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);
 }
コード例 #2
0
ファイル: services.php プロジェクト: gorgozilla/Estivole
 public function deleteListService($task)
 {
     $app = JFactory::getApplication();
     $service_id = $app->input->get('service_id');
     $ids = JRequest::getVar('cid', array(), '', 'array');
     $value = JArrayHelper::getValue($task, 0, 'int');
     $return = array("success" => false);
     $modelDaytime = new EstivoleModelDaytime();
     $memberDaytimes = $modelDaytime->getServiceDaytimes($ids);
     foreach ($memberDaytimes as $memberDaytime) {
         $daytime = JTable::getInstance('MemberDaytime', 'Table');
         $daytime->load($memberDaytime->member_daytime_id);
         if (!$daytime->delete()) {
             return false;
         }
     }
     // if($this->model->deleteService($service_id)){
     // $return['success'] = true;
     // $return['msg'] = 'Yes';
     // $app->enqueueMessage('Secteur supprimé avec succès!');
     // }else{
     // $app->enqueueMessage('Erreur!');
     // }
     if (empty($ids)) {
         JError::raiseWarning(500, JText::_('JERROR_NO_ITEMS_SELECTED'));
     } else {
         // Get the model.
         $model = $this->getModel('service');
         // Publish the items.
         if (!$model->deleteService($ids)) {
             JError::raiseWarning(500, $model->getError());
         }
     }
     $app->redirect($_SERVER['HTTP_REFERER']);
 }
コード例 #3
0
ファイル: members.php プロジェクト: gorgozilla/Estivole
 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;
 }
コード例 #4
0
ファイル: html.php プロジェクト: gorgozilla/Estivole
 function datesList($calendar_id, $service_id)
 {
     ## Initialize array to store dropdown options ##
     $options = array();
     $daytimeModel = new EstivoleModelDaytime();
     $this->daytimes = $daytimeModel->listItems();
     foreach ($this->daytimes as $daytime) {
         ## Create $value ##
         $options[] = JHTML::_('select.option', $daytime->daytime_day, date('d-m-Y', strtotime($daytime->daytime_day)));
     }
     ## Create <select name="month" class="inputbox"></select> ##
     return JHTML::_('select.genericlist', $options, 'jform[daytime]', 'class="inputbox" id="jform_daytime"', 'value', 'text', $default);
 }
コード例 #5
0
ファイル: view.html.php プロジェクト: gorgozilla/Estivole
 function display($tpl = null)
 {
     $app = JFactory::getApplication();
     $model = new EstivoleModelCalendar();
     $this->state = $this->get('State');
     $this->calendar = $this->get('Item');
     $this->form = $this->get('Form');
     $this->_dayTimeStartList = EstivoleHelpersHtml::hoursList('0000-00-00', 'jform[daytime_hour_start]');
     $this->_dayTimeEndList = EstivoleHelpersHtml::hoursList('0000-00-00', 'jform[daytime_hour_end]');
     $modelDaytime = new EstivoleModelDaytime();
     $this->daytimes = $modelDaytime->listItems();
     $this->addToolbar();
     //display
     return parent::display($tpl);
 }
コード例 #6
0
ファイル: view.raw.php プロジェクト: gorgozilla/Estivole
 function display($tpl = null)
 {
     // Get the document object.
     $document = JFactory::getDocument();
     $app = JFactory::getApplication();
     // Get the model for the view.
     $modelDaytime = new EstivoleModelDaytime();
     $this->member_id = $app->input->get('member_id', null);
     $this->daytimes = $modelDaytime->listItems();
     for ($i = 0; $i < count($this->daytimes); $i++) {
         $this->daytimes[$i]->filledQuota = count($modelDaytime->getQuotasByDaytimeId($this->daytimes[$i]->daytime_id));
         $this->daytimes[$i]->isAvailable = $modelDaytime->isDaytimeAvailableForMember($this->member_id, $this->daytimes[$i]->daytime_id);
         $this->daytimes[$i]->isComplete = $modelDaytime->isDaytimeComplete($this->daytimes[$i]->daytime_id, $this->daytimes[$i]->filledQuota);
     }
     // Call parent
     parent::display($tpl);
 }
コード例 #7
0
ファイル: view.html.php プロジェクト: gorgozilla/Estivole
 function display($tpl = null)
 {
     $app = JFactory::getApplication();
     $this->state = $this->get('State');
     $this->form = $this->get('Form');
     $model = new EstivoleModelDaytime();
     $modelService = new EstivoleModelService();
     $this->daytimes = $model->listItems();
     $this->daytime = $app->input->get('daytime', null);
     $modelCalendar = new EstivoleModelCalendar();
     $this->calendar = $modelCalendar->getItem($this->daytime->calendar_id);
     for ($i = 0; $i < count($this->daytimes); $i++) {
         $this->daytimes[$i]->filledQuota = count($model->getQuotasByDaytimeId($this->daytimes[$i]->daytime_id));
     }
     EstivoleHelpersEstivole::addSubmenu('daytime');
     $this->sidebar = JHtmlSidebar::render();
     $this->addToolbar();
     //display
     return parent::display($tpl);
 }
コード例 #8
0
ファイル: view.html.php プロジェクト: gorgozilla/Estivole
 function display($tpl = null)
 {
     $app = JFactory::getApplication();
     $model = new EstivoleModelCalendar();
     $this->state = $this->get('State');
     $this->calendar = $this->get('Item');
     $this->form = $this->get('Form');
     $modelDaytime = new EstivoleModelDaytime();
     $modelDaytimes = new EstivoleModelDaytimes();
     //$this->setState('filter.services_daytime', '');
     $this->daytimes = $modelDaytime->listItems();
     for ($i = 0; $i < count($this->daytimes); $i++) {
         $this->daytimes[$i]->totalDaytimes = $modelDaytimes->getDaytimesByDaytime($this->daytimes[$i]->daytime_day);
         $this->daytimes[$i]->filledQuota = count($modelDaytime->getQuotasByDaytimeDay($this->daytimes[$i]->daytime_day));
     }
     EstivoleHelpersEstivole::addSubmenu('calendars');
     $this->sidebar = JHtmlSidebar::render();
     $this->addToolbar();
     //display
     return parent::display($tpl);
 }
コード例 #9
0
ファイル: calendar.php プロジェクト: gorgozilla/Estivole
 public function deleteListDaytime()
 {
     $app = JFactory::getApplication();
     $daytime_id = $app->input->get('daytime_id');
     $return = array("success" => false);
     $modelDaytime = new EstivoleModelDaytime();
     $memberDaytimes = $modelDaytime->getDaytimeDaytimes($daytime_id);
     foreach ($memberDaytimes as $memberDaytime) {
         $daytime = JTable::getInstance('MemberDaytime', 'Table');
         $daytime->load($memberDaytime->member_daytime_id);
         if (!$daytime->delete()) {
             return false;
         }
     }
     if ($modelDaytime->deleteDaytime($daytime_id)) {
         $return['success'] = true;
         $return['msg'] = 'Yes';
         $app->enqueueMessage('Date supprimée avec succès!');
     } else {
         $app->enqueueMessage('Erreur!');
     }
     $app->redirect($_SERVER['HTTP_REFERER']);
 }
コード例 #10
0
ファイル: view.html.php プロジェクト: gorgozilla/Estivole
 function display($tpl = null)
 {
     $app = JFactory::getApplication();
     $this->state = $this->get('State');
     $this->pagination = $this->get('Pagination');
     $this->searchterms = $this->state->get('filter.search');
     $this->campingPlace = $this->state->get('filter.campingPlace');
     $this->services_members = $this->state->get('filter.services_members');
     $this->user = JFactory::getUser();
     $this->limitstart = $this->state->get('limitstart');
     //retrieve task list from model
     $model = new EstivoleModelMembers();
     $this->members = $model->listItems();
     $this->totalMembersM = $model->getTotalItems('M');
     $this->totalMembersF = $model->getTotalItems('F');
     $modelCalendars = new EstivoleModelCalendars();
     $modelDaytime = new EstivoleModelDaytime();
     $this->calendars = $modelCalendars->listItems();
     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);
     }
     for ($i = 0; $i < count($this->totalMembersM); $i++) {
         $this->totalMembersM[$i]->member_daytimes = $modelDaytime->getMemberDaytimesForTshirt($this->totalMembersM[$i]->member_id, $this->calendars[0]->calendar_id);
         $this->totalShirtsM += ceil(count($this->totalMembersM[$i]->member_daytimes) / 2);
         $this->totalMembersM[$i]->member_daytimes = $modelDaytime->getMemberDaytimesForPolo($this->totalMembersM[$i]->member_id, $this->calendars[0]->calendar_id);
         $this->totalPolosM += ceil(count($this->totalMembersM[$i]->member_daytimes) / 2);
     }
     for ($i = 0; $i < count($this->totalMembersF); $i++) {
         $this->totalMembersF[$i]->member_daytimes = $modelDaytime->getMemberDaytimesForTshirt($this->totalMembersF[$i]->member_id, $this->calendars[0]->calendar_id);
         $this->totalShirtsF += ceil(count($this->totalMembersF[$i]->member_daytimes) / 2);
         $this->totalMembersF[$i]->member_daytimes = $modelDaytime->getMemberDaytimesForPolo($this->totalMembersF[$i]->member_id, $this->calendars[0]->calendar_id);
         $this->totalPolosF += ceil(count($this->totalMembersF[$i]->member_daytimes) / 2);
     }
     EstivoleHelpersEstivole::addSubmenu('members');
     $this->sidebar = JHtmlSidebar::render();
     $this->addToolbar();
     //display
     return parent::display($tpl);
 }
コード例 #11
0
ファイル: member.php プロジェクト: gorgozilla/Estivole
 /**
  * Delete a member daytime
  * @param int      ID of the member to delete
  * @return boolean True if successfully deleted
  */
 public function deleteMember($member_id = null)
 {
     $app = JFactory::getApplication();
     $id = $id ? $id : $member_id;
     $member = JTable::getInstance('Member', 'Table');
     $member->load($id);
     $modelDaytime = new EstivoleModelDaytime();
     $memberDaytimes = $modelDaytime->getMemberDaytimes($member_id, null);
     foreach ($memberDaytimes as $memberDaytime) {
         $daytime = JTable::getInstance('Daytime', 'Table');
         $daytime->load($memberDaytime->daytime_id);
         if ($daytime->delete()) {
             return false;
         }
     }
     $userid = JRequest::getInt('id');
     // getting user id from url
     $user = JUser::getInstance($member->user_id);
     if ($user->delete()) {
         if ($member->delete()) {
             return true;
         }
     }
     return false;
 }