コード例 #1
0
ファイル: SettingsUI.php プロジェクト: rankinp/OpenCATS
 private function onEEOEOCSettings()
 {
     if ($this->_realAccessLevel < ACCESS_LEVEL_SA) {
         CommonErrors::fatal(COMMONERROR_PERMISSION, $this);
         return;
         //$this->fatal(ERROR_NO_PERMISSION);
     }
     $EEOSettings = new EEOSettings($this->_siteID);
     $EEOSettingsRS = $EEOSettings->getAll();
     foreach ($EEOSettingsRS as $setting => $value) {
         if ($this->isChecked($setting, $_POST)) {
             $EEOSettings->set($setting, '1');
         } else {
             $EEOSettings->set($setting, '0');
         }
     }
     CATSUtility::transferRelativeURI('m=settings&a=administration');
 }
コード例 #2
0
ファイル: TemplateUtility.php プロジェクト: rankinp/OpenCATS
 /**
  * Prints the module tabs.
  *
  * @param UserInterface active module interface
  * @param string active subtab name
  * @param string module name to forcibly highlight
  * @return void
  */
 public static function printTabs($active, $subActive = '', $forceHighlight = '')
 {
     /* Special tab behaviors:
      *
      * Tab text = 'something*al=somenumber' where somenumber is an access level -
      *      Only display tab if current user userlevel >= somenumber.
      *
      * Subtab url = 'url*al=somenumber' where somenumber is an access level -
      *      Only display subtab if current user userlevel >= somenumber.
      *
      * Subtab url = 'url*js=javascript code' where javascript code is JS commands -
      *      JS code to execute for button OnClick event.
      */
     /* FIXME:  There is too much logic going on here, there should be something that loads settings or evaluates what tabs
        shouldn't be drawn. */
     echo '<div id="header">', "\n";
     echo '<ul id="primary">', "\n";
     $indexName = CATSUtility::getIndexName();
     $modules = ModuleUtility::getModules();
     foreach ($modules as $moduleName => $parameters) {
         $tabText = $parameters[1];
         /* Don't display a module's tab if $tabText is empty. */
         if (empty($tabText)) {
             continue;
         }
         /* If name = Companies and HR mode is on, change tab name to My Company. */
         if ($_SESSION['CATS']->isHrMode() && $tabText == 'Companies') {
             $tabText = 'My Company';
         }
         /* Allow a hook to prevent a module from being displayed. */
         $displayTab = true;
         if (!eval(Hooks::get('TEMPLATE_UTILITY_EVALUATE_TAB_VISIBLE'))) {
             return;
         }
         if (!$displayTab) {
             continue;
         }
         /* Inactive Tab? */
         if ($active === null || $moduleName != $active->getModuleName()) {
             if ($moduleName == $forceHighlight) {
                 $className = 'active';
             } else {
                 $className = 'inactive';
             }
             $alPosition = strpos($tabText, "*al=");
             if ($alPosition === false) {
                 echo '<li><a class="', $className, '" href="', $indexName, '?m=', $moduleName, '">', $tabText, '</a></li>', "\n";
             } else {
                 $al = substr($tabText, $alPosition + 4);
                 if ($_SESSION['CATS']->getAccessLevel() >= $al || $_SESSION['CATS']->isDemo()) {
                     echo '<li><a class="', $className, '" href="', $indexName, '?m=', $moduleName, '">', substr($tabText, 0, $alPosition), '</a></li>', "\n";
                 }
             }
             continue;
         }
         $alPosition = strpos($tabText, "*al=");
         if ($alPosition !== false) {
             $tabText = substr($tabText, 0, $alPosition);
         }
         /* Start the <li> block for the active tab. The secondary <ul>
          * for subtabs MUST be contained within this block. It is
          * closed after subtabs are printed. */
         echo '<li>';
         echo '<a class="active" href="', $indexName, '?m=', $moduleName, '">', $tabText, '</a>', "\n";
         $subTabs = $active->getSubTabs($modules);
         if ($subTabs) {
             echo '<ul id="secondary">';
             foreach ($subTabs as $subTabText => $link) {
                 if ($subTabText == $subActive) {
                     $style = "color:#cccccc;";
                 } else {
                     $style = "";
                 }
                 /* Check HR mode for displaying tab. */
                 $hrmodePosition = strpos($link, "*hrmode=");
                 if ($hrmodePosition !== false) {
                     /* Access level restricted subtab. */
                     $hrmode = substr($link, $hrmodePosition + 8);
                     if (!$_SESSION['CATS']->isHrMode() && $hrmode == 0 || $_SESSION['CATS']->isHrMode() && $hrmode == 1) {
                         $link = substr($link, 0, $hrmodePosition);
                     } else {
                         $link = '';
                     }
                 }
                 /* Check access level for displaying tab. */
                 $alPosition = strpos($link, "*al=");
                 if ($alPosition !== false) {
                     /* Access level restricted subtab. */
                     $al = substr($link, $alPosition + 4);
                     if ($_SESSION['CATS']->getAccessLevel() >= $al || $_SESSION['CATS']->isDemo()) {
                         $link = substr($link, 0, $alPosition);
                     } else {
                         $link = '';
                     }
                 }
                 $jsPosition = strpos($link, "*js=");
                 if ($jsPosition !== false) {
                     /* Javascript subtab. */
                     echo '<li><a href="', substr($link, 0, $jsPosition), '" onclick="', substr($link, $jsPosition + 4), '" style="' . $style . '">', $subTabText, '</a></li>', "\n";
                 } else {
                     if (strpos($link, 'a=internalPostings') !== false) {
                         /* Default company subtab. */
                         include_once './lib/Companies.php';
                         $companies = new Companies($_SESSION['CATS']->getSiteID());
                         $defaultCompanyID = $companies->getDefaultCompany();
                         if ($defaultCompanyID !== false) {
                             echo '<li><a href="', $link, '" style="' . $style . '">', $subTabText, '</a></li>', "\n";
                         }
                     } else {
                         if (strpos($link, 'a=administration') !== false) {
                             /* Administration subtab. */
                             if ($_SESSION['CATS']->getRealAccessLevel() >= ACCESS_LEVEL_DEMO) {
                                 echo '<li><a href="', $link, '" style="' . $style . '">', $subTabText, '</a></li>', "\n";
                             }
                         } else {
                             if (strpos($link, 'a=customizeEEOReport') !== false) {
                                 /* EEO Report subtab.  Shouldn't be visible if EEO tracking is disabled. */
                                 $EEOSettings = new EEOSettings($_SESSION['CATS']->getSiteID());
                                 $EEOSettingsRS = $EEOSettings->getAll();
                                 if ($EEOSettingsRS['enabled'] == 1) {
                                     echo '<li><a href="', $link, '" style="' . $style . '">', $subTabText, '</a></li>', "\n";
                                 }
                             } else {
                                 if ($link != '') {
                                     /* Normal subtab. */
                                     echo '<li><a href="', $link, '" style="' . $style . '">', $subTabText, '</a></li>', "\n";
                                 }
                             }
                         }
                     }
                 }
             }
             if (!eval(Hooks::get('TEMPLATE_UTILITY_DRAW_SUBTABS'))) {
                 return;
             }
             echo '</ul>';
         }
         echo '</li>';
     }
     echo '</ul>', "\n";
     echo '</div>', "\n";
 }
コード例 #3
0
ファイル: ReportsUI.php プロジェクト: Hassanj343/candidats
    function generateEEOReportPreview()
    {
        $modePeriod = $this->getTrimmedInput('period', $_GET);
        $modeStatus = $this->getTrimmedInput('status', $_GET);

        $statistics = new Statistics($this->_siteID);
        $EEOReportStatistics = $statistics->getEEOReport($modePeriod, $modeStatus);

        //print_r($EEOReportStatistics);

        switch ($modePeriod)
        {
            case 'week':
                $labelPeriod = ' Last Week';
                break;

            case 'month':
                $labelPeriod = ' Last Month';
                break;

            default:
                $labelPeriod = '';
                break;
        }

        switch ($modeStatus)
        {
            case 'rejected':
                $labelStatus = ' Rejected';
                break;

            case 'placed':
                $labelStatus = ' Placed';
                break;

            default:
                $labelStatus = '';
                break;
        }

        /* Produce the URL to the ethic statistics graph. */
        $labels = array();
        $data = array();

        $rsEthnicStatistics = $EEOReportStatistics['rsEthnicStatistics'];

        foreach ($rsEthnicStatistics as $index => $line)
        {
            $labels[] = $line['EEOEthnicType'];
            $data[] = $line['numberOfCandidates'];
        }

        $urlEthnicGraph = CATSUtility::getAbsoluteURI(
            sprintf("%s?m=graphs&a=generic&title=%s&labels=%s&data=%s&width=%s&height=%s",
                CATSUtility::getIndexName(),
                urlencode('Number of Candidates'.$labelStatus.' by Ethnic Type'.$labelPeriod),
                urlencode(implode(',', $labels)),
                urlencode(implode(',', $data)),
                400,
                240
            ));


        /* Produce the URL to the veteran status statistics graph. */
        $labels = array();
        $data = array();

        $rsVeteranStatistics = $EEOReportStatistics['rsVeteranStatistics'];

        foreach ($rsVeteranStatistics as $index => $line)
        {
            $labels[] = $line['EEOVeteranType'];
            $data[] = $line['numberOfCandidates'];
        }

        $urlVeteranGraph = CATSUtility::getAbsoluteURI(
            sprintf("%s?m=graphs&a=generic&title=%s&labels=%s&data=%s&width=%s&height=%s",
                CATSUtility::getIndexName(),
                urlencode('Number of Candidates'.$labelStatus.' by Veteran Status'.$labelPeriod),
                urlencode(implode(',', $labels)),
                urlencode(implode(',', $data)),
                400,
                240
            ));

        /* Produce the URL to the gender statistics graph. */
        $labels = array();
        $data = array();

        $rsGenderStatistics = $EEOReportStatistics['rsGenderStatistics'];

        $labels[] = 'Male ('.$rsGenderStatistics['numberOfCandidatesMale'].')';
        $data[] = $rsGenderStatistics['numberOfCandidatesMale'];

        $labels[] = 'Female ('.$rsGenderStatistics['numberOfCandidatesFemale'].')';
        $data[] = $rsGenderStatistics['numberOfCandidatesFemale'];

        $urlGenderGraph = CATSUtility::getAbsoluteURI(
            sprintf("%s?m=graphs&a=genericPie&title=%s&labels=%s&data=%s&width=%s&height=%s&legendOffset=%s",
                CATSUtility::getIndexName(),
                urlencode('Number of Candidates by Gender'),
                urlencode(implode(',', $labels)),
                urlencode(implode(',', $data)),
                320,
                300,
                1.575
            ));

        if ($rsGenderStatistics['numberOfCandidatesMale'] == 0 && $rsGenderStatistics['numberOfCandidatesFemale'] == 0)
        {
            $urlGenderGraph = "images/noDataByGender.png";
        }

        /* Produce the URL to the disability statistics graph. */
        $labels = array();
        $data = array();

        $rsDisabledStatistics = $EEOReportStatistics['rsDisabledStatistics'];

        $labels[] = 'Disabled ('.$rsDisabledStatistics['numberOfCandidatesDisabled'].')';
        $data[] = $rsDisabledStatistics['numberOfCandidatesDisabled'];

        $labels[] = 'Non Disabled ('.$rsDisabledStatistics['numberOfCandidatesNonDisabled'].')';
        $data[] = $rsDisabledStatistics['numberOfCandidatesNonDisabled'];

        $urlDisabilityGraph = CATSUtility::getAbsoluteURI(
            sprintf("%s?m=graphs&a=genericPie&title=%s&labels=%s&data=%s&width=%s&height=%s&legendOffset=%s",
                CATSUtility::getIndexName(),
                urlencode('Number of Candidates by Disability Status'),
                urlencode(implode(',', $labels)),
                urlencode(implode(',', $data)),
                320,
                300,
                1.575
            ));

        if ($rsDisabledStatistics['numberOfCandidatesNonDisabled'] == 0 && $rsDisabledStatistics['numberOfCandidatesDisabled'] == 0)
        {
            $urlDisabilityGraph = "images/noDataByDisability.png";
        }

        $EEOSettings = new EEOSettings($this->_siteID);
        $EEOSettingsRS = $EEOSettings->getAll();

        $this->_template->assign('EEOReportStatistics', $EEOReportStatistics);
        $this->_template->assign('urlEthnicGraph', $urlEthnicGraph);
        $this->_template->assign('urlVeteranGraph', $urlVeteranGraph);
        $this->_template->assign('urlGenderGraph', $urlGenderGraph);
        $this->_template->assign('urlDisabilityGraph', $urlDisabilityGraph);
        $this->_template->assign('modePeriod', $modePeriod);
        $this->_template->assign('modeStatus', $modeStatus);
        $this->_template->assign('EEOSettingsRS', $EEOSettingsRS);
        $this->_template->assign('active', $this);
        $this->_template->assign('subActive', '');
        $this->_template->display('./modules/reports/EEOReport.php');
    }
コード例 #4
0
 private function addCandidateModal($contents = '', $fields = array())
 {
     /* Bail out if we don't have a valid job order ID. */
     if (!$this->isRequiredIDValid('jobOrderID', $_GET)) {
         CommonErrors::fatalModal(COMMONERROR_BADINDEX, $this, 'Invalid job order ID.');
     }
     $jobOrderID = $_GET['jobOrderID'];
     $candidates = new Candidates($this->_siteID);
     /* Get possible sources. */
     $sourcesRS = $candidates->getPossibleSources();
     $sourcesString = ListEditor::getStringFromList($sourcesRS, 'name');
     /* Get extra fields. */
     $extraFieldRS = $candidates->extraFields->getValuesForAdd();
     $associatedAttachment = 0;
     $associatedAttachmentRS = array();
     $EEOSettings = new EEOSettings($this->_siteID);
     $EEOSettingsRS = $EEOSettings->getAll();
     if (is_array($parsingStatus = LicenseUtility::getParsingStatus()) && isset($parsingStatus['parseLimit'])) {
         $parsingStatus['parseLimit'] = $parsingStatus['parseLimit'] - 1;
     }
     $careerPortalSettings = new CareerPortalSettings($this->_siteID);
     $careerPortalSettingsRS = $careerPortalSettings->getAll();
     $careerPortalEnabled = intval($careerPortalSettingsRS['enabled']) ? true : false;
     /* Get questionnaires to attach (if public) */
     $questionnaire = new Questionnaire($this->_siteID);
     $questionnaires = $questionnaire->getAll(false);
     $this->_template->assign('careerPortalEnabled', $careerPortalEnabled);
     $this->_template->assign('questionnaires', $questionnaires);
     $this->_template->assign('contents', $contents);
     $this->_template->assign('isParsingEnabled', $tmp = LicenseUtility::isParsingEnabled());
     $this->_template->assign('parsingStatus', $parsingStatus);
     $this->_template->assign('extraFieldRS', $extraFieldRS);
     $this->_template->assign('sourcesRS', $sourcesRS);
     $this->_template->assign('isModal', true);
     $this->_template->assign('jobOrderID', $jobOrderID);
     $this->_template->assign('sourcesString', $sourcesString);
     $this->_template->assign('preassignedFields', $fields);
     $this->_template->assign('associatedAttachment', $associatedAttachment);
     $this->_template->assign('associatedAttachmentRS', $associatedAttachmentRS);
     $this->_template->assign('associatedTextResume', false);
     $this->_template->assign('associatedFileResume', false);
     $this->_template->assign('EEOSettingsRS', $EEOSettingsRS);
     if (!eval(Hooks::get('JO_ADD_CANDIDATE_MODAL'))) {
         return;
     }
     /* REMEMBER TO ALSO UPDATE CandidatesUI::add() IF APPLICABLE. */
     $this->_template->display('./modules/candidates/Add.tpl');
 }
コード例 #5
0
 private function edit()
 {
     /* Bail out if we don't have a valid candidate ID. */
     if (!$this->isRequiredIDValid('candidateID', $_GET)) {
         CommonErrors::fatal(COMMONERROR_BADINDEX, $this, 'Invalid candidate ID.');
     }
     $candidateID = $_GET['candidateID'];
     $candidates = new Candidates($this->_siteID);
     $data = $candidates->getForEditing($candidateID);
     /* Bail out if we got an empty result set. */
     if (empty($data)) {
         CommonErrors::fatal(COMMONERROR_BADINDEX, $this, 'The specified candidate ID could not be found.');
     }
     if ($data['isAdminHidden'] == 1 && $this->_accessLevel < ACCESS_LEVEL_MULTI_SA) {
         $this->listByView('This candidate is hidden - only a CATS Administrator can unlock the candidate.');
         return;
     }
     $users = new Users($this->_siteID);
     $usersRS = $users->getSelectList();
     /* Add an MRU entry. */
     $_SESSION['CATS']->getMRU()->addEntry(DATA_ITEM_CANDIDATE, $candidateID, $data['firstName'] . ' ' . $data['lastName']);
     /* Get extra fields. */
     $extraFieldRS = $candidates->extraFields->getValuesForEdit($candidateID);
     /* Get possible sources. */
     $sourcesRS = $candidates->getPossibleSources();
     $sourcesString = ListEditor::getStringFromList($sourcesRS, 'name');
     /* Is current source a possible source? */
     // FIXME: Use array search functions!
     $sourceInRS = false;
     foreach ($sourcesRS as $sourceData) {
         if ($sourceData['name'] == $data['source']) {
             $sourceInRS = true;
         }
     }
     if ($this->_accessLevel == ACCESS_LEVEL_DEMO) {
         $canEmail = false;
     } else {
         $canEmail = true;
     }
     $emailTemplates = new EmailTemplates($this->_siteID);
     $statusChangeTemplateRS = $emailTemplates->getByTag('EMAIL_TEMPLATE_OWNERSHIPASSIGNCANDIDATE');
     if ($statusChangeTemplateRS['disabled'] == 1) {
         $emailTemplateDisabled = true;
     } else {
         $emailTemplateDisabled = false;
     }
     /* Date format for DateInput()s. */
     if ($_SESSION['CATS']->isDateDMY()) {
         $data['dateAvailableMDY'] = DateUtility::convert('-', $data['dateAvailable'], DATE_FORMAT_DDMMYY, DATE_FORMAT_MMDDYY);
     } else {
         $data['dateAvailableMDY'] = $data['dateAvailable'];
     }
     if (!eval(Hooks::get('CANDIDATE_EDIT'))) {
         return;
     }
     $EEOSettings = new EEOSettings($this->_siteID);
     $EEOSettingsRS = $EEOSettings->getAll();
     $this->_template->assign('active', $this);
     $this->_template->assign('data', $data);
     $this->_template->assign('usersRS', $usersRS);
     $this->_template->assign('extraFieldRS', $extraFieldRS);
     $this->_template->assign('sourcesRS', $sourcesRS);
     $this->_template->assign('sourcesString', $sourcesString);
     $this->_template->assign('sourceInRS', $sourceInRS);
     $this->_template->assign('candidateID', $candidateID);
     $this->_template->assign('canEmail', $canEmail);
     $this->_template->assign('EEOSettingsRS', $EEOSettingsRS);
     $this->_template->assign('emailTemplateDisabled', $emailTemplateDisabled);
     $this->_template->display('./modules/candidates/Edit.tpl');
 }
コード例 #6
0
ファイル: Template.php プロジェクト: Hassanj343/candidats
    private function loadTheme($_AUIEO_ARR_THEME_VAR)
    {
        if($_SERVER["REQUEST_URI"]=="/demo/careers/")
        {
            $AUIEO_THEME_MODULE="careers";
        }
        else if(isset($_REQUEST["m"]) && $_REQUEST["m"]=="careers")
        {
            $AUIEO_THEME_MODULE="careers";
        }
        else if(!$_SESSION['CATS']->isLoggedIn())
        {
            $AUIEO_THEME_MODULE="login";
        }
        else
        {
            $AUIEO_THEME_MODULE=isset($_REQUEST["m"])?$_REQUEST["m"]:"index";
        }
        
        $objModule=new ClsAuieoModule($AUIEO_THEME_MODULE,isset($_REQUEST["a"])?$_REQUEST["a"]:"create");
        $actionTheme=$objModule->getConfigVar("actions");
        if($actionTheme)
        {
            $AUIEO_THEME_MODULE=$actionTheme;
        }
        if(!file_exists("themes/default/{$AUIEO_THEME_MODULE}.php"))
        {
            $AUIEO_THEME_MODULE="index";
        }
        extract($_AUIEO_ARR_THEME_VAR);
        unset($_AUIEO_ARR_THEME_VAR);
        
        $HTML_ENCODING=HTML_ENCODING;
        
        $AUIEO_USER_NAME     = $_SESSION['CATS']->getUsername();
        $AUIEO_SITE_NAME     = $_SESSION['CATS']->getSiteName();
        $AUIEO_FULL_NAME     = $_SESSION['CATS']->getFullName();
        $AUIEO_INDEX_NAME    = CATSUtility::getIndexName();
        
        $_AUIEO_MODULE=isset($_GET["m"])?$_GET["m"]:"home";
        
        if (strpos($AUIEO_USER_NAME, '@'.$_SESSION['CATS']->getSiteID()) !== false &&
            substr($AUIEO_USER_NAME, strpos($username, '@'.$_SESSION['CATS']->getSiteID())) ==
            '@'.$_SESSION['CATS']->getSiteID() )
        {
           $AUIEO_USER_NAME = str_replace('@'.$_SESSION['CATS']->getSiteID(), '', $AUIEO_USER_NAME);
        }

        $ACCESS_LEVEL_SA_GREATER="";
        if ($_SESSION['CATS']->getAccessLevel() >= ACCESS_LEVEL_SA)
        {
            $ACCESS_LEVEL_SA_GREATER = "&nbsp;<span style='font-weight:bold;'>Administrator</span>\n";
        }

        $AUIEO_NOTICE="";
        /* Disabled notice */
        if (!$_SESSION['CATS']->accountActive())
        {
            $AUIEO_NOTICE = "<span style='font-weight:bold;'>Account Inactive</span><br />\n";
        }
        else if ($_SESSION['CATS']->getAccessLevel() == ACCESS_LEVEL_READ)
        {
            $AUIEO_NOTICE = "<span>Read Only Access</span><br />\n";
        }
        
        ob_start();
        $forceHighlight = '';

        $modules = ModuleUtility::getModules();
        if($_SESSION["CATS"]->getSiteID()>0)
        {
            $objPRGManagement=PRGManagement::getInstance();
        }
        foreach ($modules as $moduleName => $parameters)
        {
            if($_SESSION["CATS"]->getSiteID()>0)
            {
                $permit=$objPRGManagement->isModulePermitted($moduleName);
                if($permit===false)
                {
                    continue;
                }
            }
           $tabText = $parameters[1];

           /* Don't display a module's tab if $tabText is empty. */
           if (empty($tabText))
           {
               continue;
           }

           /* If name = Companies and HR mode is on, change tab name to My Company. */
           if ($_SESSION['CATS']->isHrMode() && $tabText == 'Companies')
           {
               $tabText = 'My Company';
           }

           /* Allow a hook to prevent a module from being displayed. */
           $displayTab = true;

           if (!eval(Hooks::get('TEMPLATE_UTILITY_EVALUATE_TAB_VISIBLE'))) return;

           if (!$displayTab)
           {
               continue;
           }

           /* Inactive Tab? */
           if (!isset($this->active) || empty($this->active) || $moduleName != $this->active->getModuleName())
           {
               if ($moduleName == $forceHighlight)
               {
                   $className = 'active';
               }
               else
               {
                   $className = 'inactive';
               }

               $alPosition = strpos($tabText, "*al=");
               if ($alPosition === false)
               {
                   echo '<li><a class="', $className, '" href="', $AUIEO_INDEX_NAME,
                        '?m=', $moduleName, '">', $tabText, '</a></li>', "\n";
               }
               else
               {
                    $al = substr($tabText, $alPosition + 4);
                    if ($_SESSION['CATS']->getAccessLevel() >= $al ||
                        $_SESSION['CATS']->isDemo())
                    {
                       echo '<li><a class="', $className, '" href="', $indexName, '?m=', $moduleName, '">',
                            substr($tabText, 0, $alPosition), '</a></li>', "\n";
                   }
               }

               continue;
           }

           $alPosition = strpos($tabText, "*al=");
           if ($alPosition !== false)
           {
               $tabText = substr($tabText, 0, $alPosition);
           }

           /* Start the <li> block for the active tab. The secondary <ul>
            * for subtabs MUST be contained within this block. It is
            * closed after subtabs are printed. */
           echo '<li>';

           echo '<a class="active" href="', $AUIEO_INDEX_NAME, '?m=', $moduleName,
                '">', $tabText, '</a>', "\n";

           $subTabs = $this->active->getSubTabs($modules);
           if ($subTabs)
           {
               echo '<ul id="secondary">';

               foreach ($subTabs as $subTabText => $link)
               {
                   if (isset($this->subActive) && $subTabText == $this->subActive)
                   {
                       $style = "color:#cccccc;";
                   }
                   else
                   {
                       $style = "";
                   }

                   /* Check HR mode for displaying tab. */
                   $hrmodePosition = strpos($link, "*hrmode=");
                   if ($hrmodePosition !== false)
                   {
                       /* Access level restricted subtab. */
                       $hrmode = substr($link, $hrmodePosition + 8);
                       if ((!$_SESSION['CATS']->isHrMode() && $hrmode == 0) ||
                           ($_SESSION['CATS']->isHrMode() && $hrmode == 1))
                       {
                           $link =  substr($link, 0, $hrmodePosition);
                       }
                       else
                       {
                           $link = '';
                       }
                   }

                   /* Check access level for displaying tab. */
                   $alPosition = strpos($link, "*al=");
                   if ($alPosition !== false)
                   {
                       /* Access level restricted subtab. */
                       $al = substr($link, $alPosition + 4);
                       if ($_SESSION['CATS']->getAccessLevel() >= $al ||
                           $_SESSION['CATS']->isDemo())
                       {
                           $link =  substr($link, 0, $alPosition);
                       }
                       else
                       {
                           $link = '';
                       }
                   }

                   $jsPosition = strpos($link, "*js=");
                   if ($jsPosition !== false)
                   {
                       /* Javascript subtab. */
                       echo '<li><a href="', substr($link, 0, $jsPosition), '" onclick="',
                            substr($link, $jsPosition + 4), '" style="'.$style.'">', $subTabText, '</a></li>', "\n";
                   }

                   /* A few subtabs have special logic to decide if they display or not. */
                   /* FIXME:  Put the logic for these somewhere else.  Perhaps the definitions of the subtabs
                              themselves should have an eval()uatable rule?
                              Brian 6-14-07:  Second.  */
                   else if (strpos($link, 'a=internalPostings') !== false)
                   {
                       /* Default company subtab. */
                       include_once('./lib/Companies.php');

                       $companies = new Companies($_SESSION['CATS']->getSiteID());
                       $defaultCompanyID = $companies->getDefaultCompany();
                       if ($defaultCompanyID !== false)
                       {
                           echo '<li><a href="', $link, '" style="'.$style.'">', $subTabText, '</a></li>', "\n";
                       }
                   }
                   else if (strpos($link, 'a=administration') !== false)
                   {
                       /* Administration subtab. */
                       if ($_SESSION['CATS']->getRealAccessLevel() >= ACCESS_LEVEL_DEMO)
                       {
                           echo '<li><a href="', $link, '" style="'.$style.'">', $subTabText, '</a></li>', "\n";
                       }
                   }
                   else if (strpos($link, 'a=customizeEEOReport') !== false)
                   {
                       /* EEO Report subtab.  Shouldn't be visible if EEO tracking is disabled. */
                       $EEOSettings = new EEOSettings($_SESSION['CATS']->getSiteID());
                       $EEOSettingsRS = $EEOSettings->getAll();

                       if ($EEOSettingsRS['enabled'] == 1)
                       {
                           echo '<li><a href="', $link, '" style="'.$style.'">', $subTabText, '</a></li>', "\n";
                       }
                   }


                   /* Tab is ok to draw. */
                   else if ($link != '')
                   {
                       /* Normal subtab. */
                       echo '<li><a href="', $link, '" style="'.$style.'">', $subTabText, '</a></li>', "\n";
                   }
               }

               if (!eval(Hooks::get('TEMPLATE_UTILITY_DRAW_SUBTABS'))) return;

               echo '</ul>';
           }

           echo '</li>';
        }

        $_AUIEO_TABS=  ob_get_clean();

        $systemInfo = new SystemInfo();
        $systemInfoData = $systemInfo->getSystemInfo();
        $AUIEO_DOWNLOAD_LATEST="";
        if (isset($systemInfoData['available_version']) &&
            $systemInfoData['available_version'] > CATSUtility::getVersionAsInteger() &&
            isset($systemInfoData['disable_version_check']) &&
            !$systemInfoData['disable_version_check'] &&
            $_SESSION['CATS']->getAccessLevel() >= ACCESS_LEVEL_SA)
        {
            $AUIEO_DOWNLOAD_LATEST = "<a href='http://www.catsone.com/download.php' target='catsdl'>A new CATS version is available!</a><br />";
        }
        $AUIEO_RECENT="";
        if (!empty($MRU))
        {
            $AUIEO_RECENT = '<span class="MRUTitle">Recent:&nbsp;</span>&nbsp;{$MRU}';
        }
        else
        {
            $AUIEO_RECENT = '<span class="MRUTitle"></span>&nbsp;';
        }
        $AUIEO_HAS_USER_CATEGORY="";
        //FIXME:  Abstract into a hook.
        if ($_SESSION['CATS']->hasUserCategory('msa'))
        {
            $AUIEO_HAS_USER_CATEGORY = "<input type='hidden' name='m' value='asp' />
                <input type='hidden' name='a' value='aspSearch' />
                <span class='quickSearchLabel' id='quickSearchLabel>ASP Search:</span>&nbsp;";
        }
        else
        {
            $AUIEO_HAS_USER_CATEGORY = "<input type='hidden' name='m' value='home' />
                <input type='hidden' name='a' value='quickSearch' />
                <span class='quickSearchLabel' id='quickSearchLabel'>Quick Search:</span>&nbsp;";
        }


        $wildCardString = '';
        /* Get the formatted MRU list from Session. */
                $MRU = $_SESSION['CATS']->getMRU()->getFormatted();
                $indexName = CATSUtility::getIndexName();
        
        $AUIEO_PREFIX="";
        if(isset($_REQUEST["m"]) && $_REQUEST["m"]=="careers")
        {
            $AUIEO_PREFIX="../";
        }
        
        $pageTitle = pageTitle();
        $headIncludes = pageHeaderInclude();
        $AUIEO_PAGE_START="";
        ob_start();
        //TemplateUtility::_printCommonHeader($pageTitle, $headIncludes);

        if (!is_array($headIncludes))
        {
            $headIncludes = array($headIncludes);
        }

        $siteID = $_SESSION['CATS']->getSiteID();

        /* This prevents caching problems when SVN updates are preformed. */
        if ($_SESSION['CATS']->getCachedBuild() > 0)
        {
            $javascriptAntiCache = '?b=' . $_SESSION['CATS']->getCachedBuild();
        }
        else
        {
            $javascriptAntiCache = '?v=' . CATSUtility::getVersionAsInteger();
        }

        $headIncludes[] = 'main.css';

        foreach ($headIncludes as $key => $filename)
        {
            /* Done manually to prevent a global dependency on FileUtility. */
            if ($filename == 'tinymce')
            {
                echo ('<script language="javascript" type="text/javascript" src="lib/tinymce/jscripts/tiny_mce/tiny_mce.js"></script>'."\n".
                      '<script language="javascript" type="text/javascript">tinyMCE.init({
                            mode : "specific_textareas",
                            editor_selector : "mceEditor",
                            width : "100%",
                                theme : "advanced",
                                theme_advanced_buttons1 : "bold,italic,strikethrough,separator,bullist,numlist,outdent,indent,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,link,unlink,separator,underline,forecolor,separator,removeformat,cleanup,separator,charmap,separator,undo,redo",
                                theme_advanced_buttons2 : "",
                                theme_advanced_buttons3 : "",
                                language : "en",
                                theme_advanced_toolbar_location : "top",
                                theme_advanced_toolbar_align : "left",
                                theme_advanced_resizing : true,
                                browsers : "msie,gecko,opera,safari",
                                dialog_type : "modal",
                                theme_advanced_resize_horizontal : false,
                                convert_urls : false,
                                relative_urls : false,
                                remove_script_host : false,
                                force_p_newlines : false,
                                force_br_newlines : true,
                                convert_newlines_to_brs : false,
                                remove_linebreaks : false,
                                fix_list_elements : true
                        });</script>'."\n");
            }
            else
            {

                $extension = substr($filename, strrpos($filename, '.') + 1);

                $filename .= $javascriptAntiCache;

                if ($extension == 'js')
                {
                    echo '<script type="text/javascript" src="', $filename, '"></script>', "\n";
                }
                else if ($extension == 'css')
                {
                    echo '<style type="text/css" media="all">@import "', $filename, '";</style>', "\n";
                }
            }
        }


        $AUIEO_PAGE_START=  ob_get_clean();

        //ob_start();
        $AUIEO_LOAD_TIME = $_SESSION['CATS']->getExecutionTime();

        $AUIEO_CANDIDATS_VERSION=CANDIDATS_VERSION;
        
        include("themes/default/{$AUIEO_THEME_MODULE}.php");
        /**
        * for handing comment in html template. usage is {$_("This is comment")}
        */
       $_=function($comment)
       {
           return "";
       };
        ob_start();
        eval('echo <<< EOT
        '.file_get_contents("themes/default/{$AUIEO_THEME_MODULE}.html").'
EOT;
');
        $html = ob_get_clean();
        return $html;
    }