function loadAdminEventHome() { // get privileges for the current viewer $privManager = new PrivilegeManager($this->viewer->getID()); if ($privManager->isBasicAdmin($this->EVENT_ID) == true) { $links = array(); $parameters = array(); //[RAD_CALLBACK_PARAMS] $link = $this->getCallBack(modulecim_reg::PAGE_ADMINHOME, '', $parameters); $links["BackLink"] = $link; if ($privManager->isEventAdmin($this->EVENT_ID) == true) { /** Check if recalculation link was clicked **/ if ($this->IS_RECALC == FinancialTools::RECALC_COMPLETE) { // run recalculation of balance owing $balanceSetter = new FinancialTools(); $balanceSetter->recalculateBalances($this->EVENT_ID); $this->IS_RECALC = FinancialTools::RECALC_NOTNEEDED; $eventPriceRules = new RowManager_PriceRuleManager(); $eventPriceRules->setEventID($this->EVENT_ID); $eventPriceRules->setPriceRuleType(RowManager_PriceRuleTypeManager::VOLUME_RULE); $ruleList = $eventPriceRules->getListIterator(); $ruleArray = $ruleList->getDataList(); $ruleIDs = array(); reset($ruleArray); // cycle through volume rules foreach (array_keys($ruleArray) as $k) { $record = current($ruleArray); $activeRule = new RowManager_ActiveRuleManager($record['pricerules_id']); $setRecord = array(); $setRecord['is_recalculated'] = RowManager_ActiveRuleManager::IS_TRUE; $activeRule->loadFromArray($setRecord); $activeRule->updateDBTable(); next($ruleArray); } } /** Check if a volume rule exists; if so, check if volume rule triggered ***/ if ($this->triggerBalanceRecalculation($this->EVENT_ID) == true) { $this->IS_RECALC = FinancialTools::RECALC_NEEDED; } } // end eventAdmin privilege check 1 // Need to set campus-link so that summary table data can be created for download PDF link $parameters = array('EVENT_ID' => $this->EVENT_ID, 'CAMPUS_ID' => $this->CAMPUS_ID); //[RAD_CALLBACK_PARAMS] $campus_link = $this->getCallBack(modulecim_reg::PAGE_EDITCAMPUSREGISTRATIONS, '', $parameters); $campus_link .= "&" . modulecim_reg::CAMPUS_ID . "="; $this->pageDisplay = new page_AdminEventHome($this->moduleRootPath, $this->viewer, $this->EVENT_ID, $this->IS_RECALC, $campus_link); // set the pageCallBack to be without any additional parameters // (an AdminBox needs this so Language Switching on a page doesn't // pass a previous operations) $parameters = array('EVENT_ID' => $this->EVENT_ID, 'CAMPUS_ID' => $this->CAMPUS_ID); //[RAD_CALLBACK_PARAMS] $pageCallBack = $this->getCallBack(modulecim_reg::PAGE_ADMINEVENTHOME, $this->sortBy, $parameters); $this->setPageCallBack($pageCallBack); if ($privManager->isSuperAdmin() == true) { $parameters = array('EVENT_ID' => $this->EVENT_ID, 'CAMPUS_ID' => $this->CAMPUS_ID); //[RAD_CALLBACK_PARAMS] $link = $this->getCallBack(modulecim_reg::PAGE_EDITFIELDTYPES, '', $parameters); $links["EditFieldTypes"] = $link; $link = $this->getCallBack(modulecim_reg::PAGE_EDITPRICERULETYPES, '', $parameters); $links["EditPriceRuleTypes"] = $link; $link = $this->getCallBack(modulecim_reg::PAGE_EDITCREDITCARDTYPES, '', $parameters); $links["EditCreditCardTypes"] = $link; $link = $this->getCallBack(modulecim_reg::PAGE_EDITPRIVILEGETYPES, '', $parameters); $links["EditPrivilegeTypes"] = $link; $link = $this->getCallBack(modulecim_reg::PAGE_ADDSUPERADMIN, '', $parameters); $links["AddSuperAdmins"] = $link; $link = $this->getCallBack(modulecim_reg::PAGE_EDITSTATUSES, '', $parameters); $links["EditStatusTypes"] = $link; } // if ($privManager->isCampusAdmin($this->EVENT_ID,null)==true) // check if privilege level is high enough // { $links["CampusLink"] = $campus_link; // } if ($privManager->isEventAdmin($this->EVENT_ID) == true) { /**** NOTE: PDF generation TEMPORARILY disabled until PDF plugin added to production PHP environment ****/ /** GENERATE PDF OF SUMMARY DATA **/ $fileName = 'summary' . rand(1, MAX_TEMP_SEED) . '.pdf'; $filePath = getcwd() . "/Reports/" . $fileName; // change to '\\' for local use ? $linkPath = SITE_PATH_REPORTS . $fileName; $page_margin = 20; $column_widths = array(); $column_widths[0] = 0; $column_widths[1] = 195; //campus $column_widths[2] = 70; // link $column_widths[3] = 35; // males total $column_widths[4] = 50; // females total $column_widths[5] = 30; // both genders total $column_widths[6] = 70; // cancellations $column_widths[7] = 55; // completed regs $column_widths[8] = 55; // incomplete regs $table_pdf = new PDF_Template_Table($filePath, $page_margin, $column_widths, "Registrations"); $table_pdf->generateTable(); //(true,true); // $metaRegSummaryHeadings = $this->pageDisplay->getMetaSummaryHeadings(); $metaRegSummaryData = $this->pageDisplay->getMetaSummaryData(); $campusRegSummaryHeadings = $this->pageDisplay->getSummaryHeadings(); $campusRegSummaryData = $this->pageDisplay->getSummaryData(); // echo 'summary data = <pre>'.print_r($campusRegSummaryData,true).'</pre>'; $table_pdf->fillTable($campusRegSummaryHeadings, $metaRegSummaryData, $campusRegSummaryData, true, true); /*** Add a pie chart of campus registrations **/ $chart_pdf = new PDF_Template_Charts($table_pdf->getPDF()); $event = new RowManager_EventManager($this->EVENT_ID); $title = 'Total Campus Registrations for ' . $event->getEventName(); $chart_width = 5; //PDF::PAGEWIDTH_LETTER*0.5; $chart_height = 5; //PDF::PAGEHEIGHT_LETTER*0.5; // echo 'chart height/width = '.$chart_height.', '.$chart_height; $found_nonzero = false; $campus_totals = array(); reset($campusRegSummaryData); foreach (array_keys($campusRegSummaryData) as $key) { $record = current($campusRegSummaryData); $campus_totals[$key] = $record['campusTotal']; if ($record['campusTotal'] > 0) { $found_nonzero = true; } next($campusRegSummaryData); } // echo 'campus totals data = <pre>'.print_r($campus_totals,true).'</pre>'; // required to avoid divide-by-zero error when generating pie chart with no data if ($found_nonzero == true) { $chart_pdf->createPieChart($title, $chart_width, $chart_height, $campus_totals); } $table_pdf->Output(); $link = $linkPath; $links["DownloadSummary"] = $link; /** <END> PDF GENERATION **/ $emailPageParameters = array('EVENT_ID' => $this->EVENT_ID); //[RAD_CALLBACK_PARAMS] $email_link = $this->getCallBack(modulecim_reg::PAGE_EMAILCOMPOSER, '', $emailPageParameters); $links["EmailRegistrants"] = $email_link; $link = $this->getCallBack(modulecim_reg::PAGE_EVENTDETAILS, '', $parameters); $links["EditEventDetails"] = $link; $link = $this->getCallBack(modulecim_reg::PAGE_ADDEVENTADMIN, '', $parameters); $links["AddEventAdmins"] = $link; $link = $this->getCallBack(modulecim_reg::PAGE_ADDCAMPUSADMIN, '', $parameters); $links["AddCampusAdmins"] = $link; $this->IS_RECALC = FinancialTools::RECALC_COMPLETE; $recalcParams = array('IS_RECALC' => $this->IS_RECALC, 'EVENT_ID' => $this->EVENT_ID, 'CAMPUS_ID' => $this->CAMPUS_ID); $link = $this->getCallBack(modulecim_reg::PAGE_ADMINEVENTHOME, '', $recalcParams); $links["RecalculateBalances"] = $link; $link = $this->getCallBack(modulecim_reg::PAGE_EDITFORMFIELDS, '', $parameters); $links["EditEventFormFields"] = $link; $link = $this->getCallBack(modulecim_reg::PAGE_EDITPRICERULES, '', $parameters); $links["EditEventPriceRules"] = $link; /* Output the file to be downloaded */ /* if (isset($this->DOWNLOAD_TYPE)) //($_REQUEST["file"])) // //if (isset($_REQUEST["file"])) { { $fileDir = SITE_PATH_REPORTS; echo "Data type = ".$this->DOWNLOAD_TYPE; switch($this->DOWNLOAD_TYPE) { case modulecim_reg::DOWNLOAD_EVENT_DATA: $fileName = $this->getSummaryData($this->EVENT_ID, 1); //$_REQUEST["file"]; echo "FILE NAME = ".$fileName; $file=$fileDir.$fileName; // echo "headers: <pre>".print_r(headers_list(),true)."</pre><br>"; // TODO: move below code out of SWITCH header("Content-Location: ".$file); header("Content-type: text/comma-separated-values"); header("Content-Transfer-Encoding: Binary"); header("Content-length: ".filesize($file)); header("Content-disposition: attachment; filename=\"".basename($file)."\""); readfile("$file"); break; case modulecim_reg::DOWNLOAD_SCHOLARSHIP_DATA: /* $fileName = $this->getSummaryData($this->EVENT_ID, 1); //$_REQUEST["file"]; echo "FILE NAME = ".$fileName; $file=$fileDir.$fileName; // TODO: move below code out of SWITCH header("Content-type: text/comma-separated-values"); header("Content-Transfer-Encoding: Binary"); header("Content-length: ".filesize($file)); header("Content-disposition: attachment; filename=\"".basename($file)."\""); readfile("$file"); */ /* echo "NOT YET IMPLEMENTED"; break; default: break; } unset($this->DOWNLOAD_TYPE); } else { echo "No file selected"; } /** above code gratefully modified from code found at: http://www.higherpass.com/php/tutorials/File-Download-Security/1/ **/ //$this->DOWNLOAD_TYPE = modulecim_reg::DOWNLOAD_EVENT_DATA; //$fileDownloadParameters = array('EVENT_ID'=>$this->EVENT_ID , 'CAMPUS_ID'=>$this->CAMPUS_ID, 'DOWNLOAD_TYPE'=>$this->DOWNLOAD_TYPE);//[RAD_CALLBACK_PARAMS] // $link2 = SITE_PATH_MODULES.'app_'.modulecim_reg::MODULE_KEY.'/objects_pages/'.modulecim_reg::CSV_DOWNLOAD_TOOL.'?'.modulecim_reg::EVENT_ID.'='.$this->EVENT_ID.'&'.modulecim_reg::DOWNLOAD_TYPE.'='.modulecim_reg::DOWNLOAD_EVENT_DATA; //$this->getCallBack( modulecim_reg::PAGE_ADMINEVENTHOME, '', $fileDownloadParameters ); // $links["EventDataDump"] = $link2; //Event Data Dump - for importing into Excel $this->DOWNLOAD_TYPE = modulecim_reg::DOWNLOAD_EVENT_DATA; $fileDownloadParameters = array('EVENT_ID' => $this->EVENT_ID, 'CAMPUS_ID' => $this->CAMPUS_ID, 'DOWNLOAD_TYPE' => $this->DOWNLOAD_TYPE); //[RAD_CALLBACK_PARAMS] $link2 = $this->getCallBack(modulecim_reg::PAGE_DOWNLOADREPORT, '', $fileDownloadParameters); $links["EventDataDump"] = $link2; //Event Data Dump - for importing into Excel $this->DOWNLOAD_TYPE = modulecim_reg::DOWNLOAD_SCHOLARSHIP_DATA; $fileDownloadParameters = array('EVENT_ID' => $this->EVENT_ID, 'CAMPUS_ID' => $this->CAMPUS_ID, 'DOWNLOAD_TYPE' => $this->DOWNLOAD_TYPE); //[RAD_CALLBACK_PARAMS] $link3 = $this->getCallBack(modulecim_reg::PAGE_DOWNLOADREPORT, '', $fileDownloadParameters); $links["EventScholarshipList"] = $link3; //Event Scholarship List - for importing into Excel } // end event-admin privilege check 2 /*[RAD_LINK_INSERT]*/ $this->pageDisplay->setLinks($links); //$this->previous_page = modulecim_reg::PAGE_ADMINEVENTHOME; } else { $this->pageDisplay = new page_NotAuthorized($this->moduleRootPath, $this->viewer); } }
/** * function getHTML * <pre> * This method returns the HTML data generated by this object. * </pre> * @return [STRING] HTML Display data. */ function getHTML() { $regSummaries = new RegSummaryTools(); // Uncomment the following line if you want to create a template // tailored for this page: $path = $this->pathModuleRoot . 'templates/'; // Otherwise use the standard Templates for the site: //$path = SITE_PATH_TEMPLATES; /* * Update any label tags ... */ // example: // $name = $user->getName(); $event = new RowManager_EventManager($this->event_id); $this->labels->setLabelTag('[Instr]', '[eventName]', $event->getEventName()); // NOTE: this parent method prepares the $this->template with the // common Display data. $this->prepareTemplate($path); // pass in the labels for the outer template // $labels = new MultiLingual_Labels( GPC_SITE_LABEL, GPC_SERIES_LABEL, TEMPLATE_PAGE, $langID ); // $page->set('labels', $labels ); // get privileges for the current viewer $privManager = new PrivilegeManager($this->viewer->getID()); if ($privManager->isEventAdmin($this->event_id) == true) { $this->template->set('isEventAdmin', true); // display messages based on balance owing recalculation status switch ($this->recalcStatus) { // display balance owing recalculation COMPLETED message case FinancialTools::RECALC_COMPLETE: $this->template->set('isRecalculated', true); $completedMsg = $this->labels->getLabel('[RecalcCompleteMsg]'); $this->template->set('recalcMessage', $completedMsg); break; // display balance owing recalculation NEEDED message // display balance owing recalculation NEEDED message case FinancialTools::RECALC_NEEDED: $this->template->set('needsRecalculation', true); $completedMsg = $this->labels->getLabel('[RecalcNeededMsg]'); $this->template->set('recalcMessage', $completedMsg); break; default: break; } } $this->template->set('backLink', $this->linkValues['BackLink']); //$superAdminPrefix = 'superAdmin_'; //$this->template->set('superAdminPrefix', $superAdminPrefix ); $superAdminLevelLinks = array(); $campusLevelLinks = array(); $eventLevelLinks = array(); $financeLevelLinks = array(); if ($privManager->isSuperAdmin() == true) { $this->template->set('isSuperAdmin', true); //Super Admin Level links (order is important == viewing order) $superAdminLevelLinks['AddSuperAdmins'] = $this->linkValues['AddSuperAdmins']; $superAdminLevelLinks['EditPrivilegeTypes'] = $this->linkValues['EditPrivilegeTypes']; $superAdminLevelLinks['EditFieldTypes'] = $this->linkValues['EditFieldTypes']; $superAdminLevelLinks['EditPriceRuleTypes'] = $this->linkValues['EditPriceRuleTypes']; $superAdminLevelLinks['EditCreditCardTypes'] = $this->linkValues['EditCreditCardTypes']; $superAdminLevelLinks['EditStatusTypes'] = $this->linkValues['EditStatusTypes']; $this->template->set('superAdminLevelLinks', $superAdminLevelLinks); } //Campus Level links /** TODO: move the below code into an earlier page and pass on priv. info OR put in helper function ***/ /** ALSO: make use of this or similar code for restricting access to campus-level registrations **/ /** CHECK PRIVILEGE LEVEL IN ORDER TO DETERMINE WHICH CAMPUS REGISTRATION LINKS TO SHOW **/ // $viewer_id = $this->viewer->getViewerID(); // $accessAll = false; // $accessCampuses = array(); // // $superAdmin = new RowManager_SuperAdminAssignmentManager(); // $superAdmin->setViewerID($viewer_id); // $superAdminList = new ListIterator($superAdmin); // $superAdminArray = $superAdminList->getDropListArray(); // // echo "super: <pre>".print_r($superAdminArray, true)."</pre>"; // // // all campuses can be accessed if user/viewer is super-admin // if (count($superAdminArray) > 0) // { // $accessAll = true; // } // else // check if viewer is finance-level, event-level, or campus-level admin // { // // TODO: retrieve these constants from the database using PrivilegeTypeManager // $EVENT_LEVEL = 3; // $FINANCE_LEVEL = 2; // $CAMPUS_LEVEL = 4; // // $eventAdmin = new RowManager_EventAdminAssignmentManager(); // $eventAdmin->setEventID($this->event_id); // $eventAdmin->setViewerID($viewer_id); // $eventAdmin->setPrivilege($EVENT_LEVEL." or ".$FINANCE_LEVEL); // $eventAdminList = new ListIterator($eventAdmin); // $eventAdminArray = $eventAdminList->getDropListArray(); // // echo "eventAdmin: <pre>".print_r($eventAdminArray, true)."</pre>"; // // grant access to all campuses if viewer is event-level or finance-level admin // if (count($eventAdminArray) < 0) // { // $accessAll = true; // } // else // TODO: retrieve campus list if viewer has campus-level admin privileges // { // $eventAdmin2 = new RowManager_EventAdminAssignmentManager(); // $eventAdmin2->setEventID($this->event_id); // $eventAdmin2->setViewerID($viewer_id); // $eventAdmin2->setPrivilege($CAMPUS_LEVEL); // $eventAdminList2 = new ListIterator($eventAdmin2); // $eventAdminArray2 = $eventAdminList2->getDropListArray(); // // echo "eventAdmin2: <pre>".print_r($eventAdminArray2, true)."</pre>"; // } // // } /** END PRIVILEGE CHECKING **/ // $is_campus_admin = false; if ($privManager->isBasicAdmin($this->event_id) == true) { $this->template->set('isCampusAdmin', true); /** RETRIEVE CAMPUS REGISTRATION SUMMARY DATA ***/ //TODO?: put some/all of this into a helper method // initialized template arrays $campusLevelLinks = array(); $summaryTotals = array(); $summaryTotals['numMales'] = 0; $summaryTotals['numFemales'] = 0; $summaryTotals['campusTotal'] = 0; $summaryTotals['cancellations'] = 0; // get all campuses $campuses = new RowManager_CampusManager(); $campuses->setSortOrder('campus_desc'); $campusList = $campuses->getListIterator(); $campusArray = $campusList->getDataList(); reset($campusArray); // echo 'campus array = <pre>'.print_r($campusArray,true).'</pre>'; // retrieve cancellations (for current event) $results_cancelled = array(); $results_cancelled = $regSummaries->getCampusRegistrations($this->event_id, '', true); // retrieve total registrations and total females registered (for current event) $results = array(); $results_female = array(); $results = $regSummaries->getCampusRegistrations($this->event_id, ''); $results_female = $regSummaries->getCampusRegistrations($this->event_id, 'female'); // retrieve total complete registrations and total incomplete registrations (for current event) $results_complete = array(); $results_incomplete = array(); $results_complete = $regSummaries->getCampusRegistrations($this->event_id, '', false, '', '', RowManager_RegistrationManager::STATUS_REGISTERED); $results_incomplete = $regSummaries->getCampusRegistrations($this->event_id, '', false, '', '', RowManager_RegistrationManager::STATUS_INCOMPLETE); // $results = array_merge( $results_male, $results_female ); reset($results); // reset($results_male); // reset($results_female); // go through total registrations in parallel with other results foreach (array_keys($campusArray) as $k) { $total = current($results); $regCampusID = key($results); $campusID = key($campusArray); //key($results); // retrieve campus name given the campus ID $campus = new RowManager_CampusManager($campusID); $campusName = $campus->getDesc(); // process registration total if it matches the current campus ID if ($regCampusID == $campusID) { // set total valid non-cancelled registrations for current campus (and event) if (isset($results_cancelled[$campusID])) { $cancelled = $results_cancelled[$campusID]; // $total = $total - $cancelled; } else { $cancelled = 0; } // set total females registered for current campus (and event) if (isset($results_female[$campusID])) { $females = $results_female[$campusID]; } else { $females = 0; } // set total complete registrations for current campus (and event) if (isset($results_complete[$campusID])) { $completes = $results_complete[$campusID]; } else { $completes = 0; } // set total incomplete registrations for current campus (and event) if (isset($results_incomplete[$campusID])) { $incompletes = $results_incomplete[$campusID]; } else { $incompletes = 0; } // $females = current($results_female); // $males = $results_male[$campusName]; // set total registered males $males = $total - $females; //current($results_male);// // echo $campusName.': '.$total.' : '.$males.' : '.$females.'<br>'; // echo 'cancelled : '.$cancelled.'<br>'; // set registration summary values for current campus $aCampus = array(); $aCampus['campus_desc'] = $campusName; $aCampus['regLink'] = '#'; //$this->linkValues[ 'CampusLink' ].$campusID;//$this->event_id."_".$campusID; $aCampus['numMales'] = $males; $aCampus['numFemales'] = $females; $aCampus['campusTotal'] = $total; $aCampus['cancellations'] = $cancelled; $aCampus['completes'] = $completes; $aCampus['incompletes'] = $incompletes; // $summaryTotals['numMales'] += $males; // $summaryTotals['numFemales'] += $females; // $summaryTotals['campusTotal'] += $total; // $summaryTotals['cancellations'] += $cancelled; next($results); // increment array-pointer for registration totals array } else { // set registration summary values for current campus $aCampus = array(); $aCampus['campus_desc'] = $campusName; $aCampus['regLink'] = '#'; //$this->linkValues[ 'CampusLink' ].$campusID;//$this->event_id."_".$campusID; $aCampus['numMales'] = 0; $aCampus['numFemales'] = 0; $aCampus['campusTotal'] = 0; $aCampus['cancellations'] = 0; $aCampus['completes'] = 0; $aCampus['incompletes'] = 0; } // $editLink = $this->getCallBack( modulecim_reg::PAGE_ADMINEVENTHOME, $this->sortBy, $parameters ); // $editLink .= "&". modulecim_reg::REG_ID . "="; // CampusLink if ($privManager->isCampusAdmin($this->event_id, $campusID) == true) { $aCampus['regLink'] = $this->linkValues['CampusLink'] . $campusID; //$this->event_id."_".$campusID; } // <START> USED TO BE INSIDE CAMPUS ADMIN PRIV. CHECK // BUT NOW ALL CAMPUS ADMINS CAN SEE SUMMARY DATA... ONLY REGISTRATION LINKS NOT SHOWN FOR INVALID CAMPUSES // store campus summary info in array indexed by campus name $campusLevelLinks[$campusName] = $aCampus; // if ($is_campus_admin == false) { // $this->template->set('isCampusAdmin', true); // $is_campus_admin = true; // } // <END> next($campusArray); // next($results_female); // next($results_male); } /*** END CAMPUS REGISTRATION SUMMARY DATA RETRIEVAL ***/ $this->template->set('linkText', 'Registrations'); $this->template->set('campusLevelLinks', $campusLevelLinks); /**** SET TOTAL *UNIQUE* REGISTRATIONS *******/ $totalRegs = array(); $totalRegs = $regSummaries->getUniqueRegistrations($this->event_id); // echo "Total unique regs: ".count($totalRegs); $femaleRegs = array(); $gender = 'female'; $femaleRegs = $regSummaries->getUniqueRegistrations($this->event_id, $gender); // echo "<br>Total male regs: ".(count($totalRegs)-count($femaleRegs)); // echo "<br>Total female regs: ".count($femaleRegs); $cancelledRegs = array(); $gender = ''; $areCancelled = true; $cancelledRegs = $regSummaries->getUniqueRegistrations($this->event_id, $gender, $areCancelled); // echo "<br>Total cancelled regs: ".count($cancelledRegs); $completeRegs = array(); $gender = ''; $areCancelled = false; $status = RowManager_RegistrationManager::STATUS_REGISTERED; $completeRegs = $regSummaries->getUniqueRegistrations($this->event_id, $gender, $areCancelled, $status); $incompleteRegs = array(); $gender = ''; $areCancelled = false; $status = RowManager_RegistrationManager::STATUS_INCOMPLETE; $incompleteRegs = $regSummaries->getUniqueRegistrations($this->event_id, $gender, $areCancelled, $status); $summaryTotals['numMales'] = count($totalRegs) - count($femaleRegs); $summaryTotals['numFemales'] = count($femaleRegs); $summaryTotals['campusTotal'] = count($totalRegs); $summaryTotals['cancellations'] = count($cancelledRegs); $summaryTotals['completes'] = count($completeRegs); $summaryTotals['incompletes'] = count($incompleteRegs); $this->template->set('summaryTotals', $summaryTotals); } if ($privManager->isEventAdmin($this->event_id) == true) { //Event Level links $eventLevelLinks['AddEventAdmins'] = $this->linkValues['AddEventAdmins']; $eventLevelLinks['AddCampusAdmins'] = $this->linkValues['AddCampusAdmins']; $eventLevelLinks['RecalculateBalances'] = $this->linkValues['RecalculateBalances']; $eventLevelLinks['EditEventDetails'] = $this->linkValues['EditEventDetails']; $eventLevelLinks['EditEventFormFields'] = $this->linkValues['EditEventFormFields']; $eventLevelLinks['EditEventPriceRules'] = $this->linkValues['EditEventPriceRules']; $eventLevelLinks['EventDataDump'] = $this->linkValues['EventDataDump']; $eventLevelLinks['EventScholarshipList'] = $this->linkValues['EventScholarshipList']; $this->template->set('eventLevelLinks', $eventLevelLinks); //$editEventDetailsLink = $this->linkValues[ 'editEventDetailsLink' ]; //$this->template->set('editEventDetailsLink', $editEventDetailsLink ); } if ($privManager->isFinanceAdmin($this->event_id) == true) { $this->template->set('isFinanceAdmin', true); //Finance Level links } // uncomment this line if you are creating a template for this page $templateName = 'page_AdminEventHome.php'; // otherwise use the generic site template //$templateName = ''; return $this->template->fetch($templateName); }
/** * function getHTML * <pre> * This method returns the HTML data generated by this object. * </pre> * @return [STRING] HTML Display data. */ function getHTML() { $regSummaries = new RegSummaryTools(); // Uncomment the following line if you want to create a template // tailored for this page: $path = $this->pathModuleRoot . 'templates/'; // Otherwise use the standard Templates for the site: //$path = SITE_PATH_TEMPLATES; /* * Update any label tags ... */ // example: // $name = $user->getName(); $event = new RowManager_EventManager($this->event_id); $this->labels->setLabelTag('[Instr]', '[eventName]', $event->getEventName()); // NOTE: this parent method prepares the $this->template with the // common Display data. $this->prepareTemplate($path); // pass in the labels for the outer template // $labels = new MultiLingual_Labels( GPC_SITE_LABEL, GPC_SERIES_LABEL, TEMPLATE_PAGE, $langID ); // $page->set('labels', $labels ); // get privileges for the current viewer $privManager = new PrivilegeManager($this->viewer->getID()); if ($privManager->isEventAdmin($this->event_id) == true) { $this->template->set('isEventAdmin', true); // display messages based on balance owing recalculation status switch ($this->recalcStatus) { // display balance owing recalculation COMPLETED message case FinancialTools::RECALC_COMPLETE: $this->template->set('isRecalculated', true); $completedMsg = $this->labels->getLabel('[RecalcCompleteMsg]'); $this->template->set('recalcMessage', $completedMsg); break; // display balance owing recalculation NEEDED message // display balance owing recalculation NEEDED message case FinancialTools::RECALC_NEEDED: $this->template->set('needsRecalculation', true); $completedMsg = $this->labels->getLabel('[RecalcNeededMsg]'); $this->template->set('recalcMessage', $completedMsg); break; default: break; } } $this->template->set('backLink', $this->linkValues['BackLink']); //$superAdminPrefix = 'superAdmin_'; //$this->template->set('superAdminPrefix', $superAdminPrefix ); $superAdminLevelLinks = array(); $campusLevelLinks = array(); $eventLevelLinks = array(); $financeLevelLinks = array(); if ($privManager->isSuperAdmin() == true) { $this->template->set('isSuperAdmin', true); //Super Admin Level links (order is important == viewing order) $superAdminLevelLinks['AddSuperAdmins'] = $this->linkValues['AddSuperAdmins']; $superAdminLevelLinks['EditPrivilegeTypes'] = $this->linkValues['EditPrivilegeTypes']; $superAdminLevelLinks['EditFieldTypes'] = $this->linkValues['EditFieldTypes']; $superAdminLevelLinks['EditPriceRuleTypes'] = $this->linkValues['EditPriceRuleTypes']; $superAdminLevelLinks['EditCreditCardTypes'] = $this->linkValues['EditCreditCardTypes']; $superAdminLevelLinks['EditStatusTypes'] = $this->linkValues['EditStatusTypes']; $this->template->set('superAdminLevelLinks', $superAdminLevelLinks); } //Campus Level links /** TODO: move the below code into an earlier page and pass on priv. info OR put in helper function ***/ /** ALSO: make use of this or similar code for restricting access to campus-level registrations **/ /** CHECK PRIVILEGE LEVEL IN ORDER TO DETERMINE WHICH CAMPUS REGISTRATION LINKS TO SHOW **/ // $viewer_id = $this->viewer->getViewerID(); // $accessAll = false; // $accessCampuses = array(); // // $superAdmin = new RowManager_SuperAdminAssignmentManager(); // $superAdmin->setViewerID($viewer_id); // $superAdminList = new ListIterator($superAdmin); // $superAdminArray = $superAdminList->getDropListArray(); // // echo "super: <pre>".print_r($superAdminArray, true)."</pre>"; // // // all campuses can be accessed if user/viewer is super-admin // if (count($superAdminArray) > 0) // { // $accessAll = true; // } // else // check if viewer is finance-level, event-level, or campus-level admin // { // // TODO: retrieve these constants from the database using PrivilegeTypeManager // $EVENT_LEVEL = 3; // $FINANCE_LEVEL = 2; // $CAMPUS_LEVEL = 4; // // $eventAdmin = new RowManager_EventAdminAssignmentManager(); // $eventAdmin->setEventID($this->event_id); // $eventAdmin->setViewerID($viewer_id); // $eventAdmin->setPrivilege($EVENT_LEVEL." or ".$FINANCE_LEVEL); // $eventAdminList = new ListIterator($eventAdmin); // $eventAdminArray = $eventAdminList->getDropListArray(); // // echo "eventAdmin: <pre>".print_r($eventAdminArray, true)."</pre>"; // // grant access to all campuses if viewer is event-level or finance-level admin // if (count($eventAdminArray) < 0) // { // $accessAll = true; // } // else // TODO: retrieve campus list if viewer has campus-level admin privileges // { // $eventAdmin2 = new RowManager_EventAdminAssignmentManager(); // $eventAdmin2->setEventID($this->event_id); // $eventAdmin2->setViewerID($viewer_id); // $eventAdmin2->setPrivilege($CAMPUS_LEVEL); // $eventAdminList2 = new ListIterator($eventAdmin2); // $eventAdminArray2 = $eventAdminList2->getDropListArray(); // // echo "eventAdmin2: <pre>".print_r($eventAdminArray2, true)."</pre>"; // } // // } /** END PRIVILEGE CHECKING **/ // $is_campus_admin = false; if ($privManager->isBasicAdmin($this->event_id) == true) { $this->template->set('isCampusAdmin', true); /** HSMIT, Dec 6, 2007: MOVED REG SUMMARY DATA RETRIEVAL TO CONSTRUCTOR **/ $campusLevelLinks = $this->summary_data; /*** END CAMPUS REGISTRATION SUMMARY DATA RETRIEVAL ***/ $this->template->set('linkText', 'Registrations'); $this->template->set('campusLevelLinks', $campusLevelLinks); /** HSMIT: Dec 13, 2007: MOVED REG SUMMARY TOTALS TO CONSTRUCTOR **/ $this->template->set('summaryTotals', $this->summaryTotals); } if ($privManager->isEventAdmin($this->event_id) == true) { //Event Level links $eventLevelLinks['DownloadSummary'] = $this->linkValues['DownloadSummary']; $eventLevelLinks['EmailRegistrants'] = $this->linkValues['EmailRegistrants']; $eventLevelLinks['AddEventAdmins'] = $this->linkValues['AddEventAdmins']; $eventLevelLinks['AddCampusAdmins'] = $this->linkValues['AddCampusAdmins']; $eventLevelLinks['RecalculateBalances'] = $this->linkValues['RecalculateBalances']; $eventLevelLinks['EditEventDetails'] = $this->linkValues['EditEventDetails']; $eventLevelLinks['EditEventFormFields'] = $this->linkValues['EditEventFormFields']; $eventLevelLinks['EditEventPriceRules'] = $this->linkValues['EditEventPriceRules']; $eventLevelLinks['EventDataDump'] = $this->linkValues['EventDataDump']; $eventLevelLinks['EventScholarshipList'] = $this->linkValues['EventScholarshipList']; $this->template->set('eventLevelLinks', $eventLevelLinks); //$editEventDetailsLink = $this->linkValues[ 'editEventDetailsLink' ]; //$this->template->set('editEventDetailsLink', $editEventDetailsLink ); } if ($privManager->isFinanceAdmin($this->event_id) == true) { $this->template->set('isFinanceAdmin', true); //Finance Level links } // uncomment this line if you are creating a template for this page $templateName = 'page_AdminEventHome.php'; // otherwise use the generic site template //$templateName = ''; return $this->template->fetch($templateName); }