function loadClientPrograms($bShowHidden = true) { //--------------------------------------------------------------------- // //--------------------------------------------------------------------- $cUF = new muser_fields(); $cperms = new mpermissions(); if ($bShowHidden) { $strHidden = ''; } else { $strHidden = ' AND NOT cp_bHidden '; } if ($this->sqlOrder == '') { $strOrder = ' cp_strProgramName, cp_lKeyID '; } else { $strOrder = $this->sqlOrder; } $sqlStr = "SELECT\n cp_lKeyID, cp_strProgramName, cp_strDescription,\n cp_strVocEnroll, cp_strVocAttendance,\n cp_lEnrollmentTableID, cp_lAttendanceTableID, cp_lActivityFieldID,\n cp_dteStart, cp_dteEnd,\n cp_bMentorMentee,\n\n cp_strE_VerificationModule, cp_strE_VModEntryPoint,\n cp_strA_VerificationModule, cp_strA_VModEntryPoint,\n\n ute.pft_bReadOnly AS bETableReadOnly,\n uta.pft_bReadOnly AS bATableReadOnly,\n\n cp_bHidden, cp_bRetired,\n cp_lOriginID, cp_lLastUpdateID,\n\n UNIX_TIMESTAMP(cp_dteOrigin) AS dteOrigin,\n UNIX_TIMESTAMP(cp_dteLastUpdate) AS dteLastUpdate,\n uc.us_strFirstName AS strUCFName, uc.us_strLastName AS strUCLName,\n ul.us_strFirstName AS strULFName, ul.us_strLastName AS strULLName\n\n FROM cprograms\n INNER JOIN uf_tables AS ute ON ute.pft_lKeyID = cp_lEnrollmentTableID\n INNER JOIN uf_tables AS uta ON uta.pft_lKeyID = cp_lAttendanceTableID\n INNER JOIN admin_users AS uc ON uc.us_lKeyID=cp_lOriginID\n INNER JOIN admin_users AS ul ON ul.us_lKeyID=cp_lLastUpdateID\n\n WHERE NOT cp_bRetired {$this->sqlWhere} {$strHidden}\n ORDER BY {$strOrder};"; $query = $this->db->query($sqlStr); $this->lNumCProgs = $numRows = $query->num_rows(); $this->cprogs = array(); if ($numRows == 0) { $this->cprogs[0] = new stdClass(); $cprog =& $this->cprogs[0]; $cprog->lKeyID = $cprog->strProgramName = $cprog->strEnrollmentLabel = $cprog->strAttendanceLabel = $cprog->strSafeEnrollLabel = $cprog->strSafeAttendLabel = $cprog->bETableReadOnly = $cprog->bATableReadOnly = $cprog->strE_VerificationModule = $cprog->strE_VModEntryPoint = $cprog->strA_VerificationModule = $cprog->strA_VModEntryPoint = $cprog->strDescription = $cprog->dteMysqlStart = $cprog->dteMysqlEnd = $cprog->dteStart = $cprog->dteEnd = $cprog->bHidden = $cprog->lEnrollmentTableID = $cprog->lAttendanceTableID = $cprog->lActivityFieldID = $cprog->strActivityFN = $cprog->bMentorMentee = $cprog->lOriginID = $cprog->lLastUpdateID = $cprog->dteOrigin = $cprog->dteLastUpdate = $cprog->ucstrFName = $cprog->ucstrLName = $cprog->ulstrFName = $cprog->ulstrLName = null; } else { $idx = 0; foreach ($query->result() as $row) { $this->cprogs[$idx] = new stdClass(); $cprog =& $this->cprogs[$idx]; $cprog->lKeyID = $lCProgID = (int) $row->cp_lKeyID; $cprog->strProgramName = $row->cp_strProgramName; $cprog->strEnrollmentLabel = $row->cp_strVocEnroll; $cprog->strAttendanceLabel = $row->cp_strVocAttendance; $cprog->strSafeEnrollLabel = htmlspecialchars($row->cp_strVocEnroll); $cprog->strSafeAttendLabel = htmlspecialchars($row->cp_strVocAttendance); $cprog->bETableReadOnly = (bool) $row->bETableReadOnly; $cprog->bATableReadOnly = (bool) $row->bATableReadOnly; $cprog->strE_VerificationModule = $row->cp_strE_VerificationModule; $cprog->strE_VModEntryPoint = $row->cp_strE_VModEntryPoint; $cprog->strA_VerificationModule = $row->cp_strA_VerificationModule; $cprog->strA_VModEntryPoint = $row->cp_strA_VModEntryPoint; $cprog->strDescription = $row->cp_strDescription; $cprog->dteMysqlStart = $row->cp_dteStart; $cprog->dteMysqlEnd = $row->cp_dteEnd; $cprog->dteStart = dteMySQLDate2Unix($row->cp_dteStart); $cprog->dteEnd = dteMySQLDate2Unix($row->cp_dteEnd); $cprog->bHidden = (bool) $row->cp_bHidden; $cprog->lEnrollmentTableID = (int) $row->cp_lEnrollmentTableID; $cprog->lAttendanceTableID = $lATableID = (int) $row->cp_lAttendanceTableID; $cprog->strEnrollmentTable = $cUF->strGenUF_TableName($cprog->lEnrollmentTableID); $cprog->strETableFNPrefix = $cUF->strGenUF_KeyFieldPrefix($cprog->lEnrollmentTableID); $cprog->strAttendanceTable = $cUF->strGenUF_TableName($cprog->lAttendanceTableID); $cprog->strATableFNPrefix = $cUF->strGenUF_KeyFieldPrefix($cprog->lAttendanceTableID); $cprog->lActivityFieldID = $lActivityFieldID = (int) $row->cp_lActivityFieldID; $cprog->strActivityFN = $this->strActivityDDLFN($lATableID, $lActivityFieldID); $cprog->bMentorMentee = (bool) $row->cp_bMentorMentee; $cprog->lOriginID = (int) $row->cp_lOriginID; $cprog->lLastUpdateID = (int) $row->cp_lLastUpdateID; $cprog->dteOrigin = (int) $row->dteOrigin; $cprog->dteLastUpdate = (int) $row->dteLastUpdate; $cprog->ucstrFName = $row->strUCFName; $cprog->ucstrLName = $row->strUCLName; $cprog->ulstrFName = $row->strULFName; $cprog->ulstrLName = $row->strULLName; // user-group permissions for this program $cprog->lNumPerms = $cperms->lGroupPerms($lCProgID, CENUM_CONTEXT_CPROGRAM, $cprog->perms); ++$idx; } } }