/** * Method that enrols for a course category * @param Object $dbMoObj Database connectivity and manipulation object * @param string $dbPrefix Database prefix * @param int $user User Id * @param datetime $timeStart Start time * @param int $modifierId Modifier Id * @param datetime $timeCreated Time created * @param datetime $timeModified Time Modified * @param int $category Catgory Id */ public static function enrolCategory($dbMoObj, $dbPrefix, $user, $timeStart, $modifierId, $timeCreated, $timeModified, $category) { $tableName = $dbPrefix . 'user_enrolments'; $enrolTable = $dbPrefix . 'enrol'; $courseTable = $dbPrefix . 'course'; $categoryTable = $dbPrefix . 'course_categories'; if ($category != 0) { $enrolCatResult = $dbMoObj->fetchAssoc("SELECT * FROM {$courseTable} WHERE category = {$category} AND format !='site' "); foreach ($enrolCatResult as $courseDet) { $enrolResult = $dbMoObj->fetchAssoc("SELECT * FROM {$enrolTable} WHERE courseid = " . $courseDet['id'] . " AND enrol='manual' LIMIT 1"); foreach ($enrolResult as $enrolResult) { $sql = "INSERT INTO {$tableName} (enrolid, userid, timestart, modifierid, timecreated, timemodified) " . "VALUES ('{$enrolResult['id']}','{$user}','{$timeStart}','" . $modifierId . "','" . $timeCreated . "','{$timeModified}')"; if (count($dbMoObj->fetchAssoc("SELECT * FROM {$tableName} WHERE userid = {$user} AND enrolid = '{$enrolResult['id']}' ")) < 1) { $result = $dbMoObj->query($sql); } } } $catDetails = $dbMoObj->fetchAssoc("SELECT * FROM {$categoryTable} WHERE parent = {$category} "); foreach ($catDetails as $catDetail) { User::enrolCategory($dbMoObj, $dbPrefix, $user, $timeStart, $modifierId, $timeCreated, $timeModified, $catDetail['id']); } } }