Example #1
0
 /**  
  * 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']);
         }
     }
 }