Ejemplo n.º 1
0
 public static function AddSubjectRecursive($id, $user_id)
 {
     //Ha ez a tárgy már teljesítve van, nem csinálunk semmit
     $Check = self::model()->findByAttributes(array('user_id' => $user_id, 'subject_id' => $id));
     if ($Check != null) {
         return true;
     }
     //Elmentjük ezt a tantárgyat teljesítettként
     $Subject = Subject::model()->findByPk($id);
     $CompletedSubject = new CompletedSubjects();
     $CompletedSubject->user_id = $user_id;
     $CompletedSubject->subject_id = $Subject->subject_id;
     $CompletedSubject->save();
     //Majd a tantárgy összes előfeltételét
     foreach ($Subject->dependencies as $CurrentDependency) {
         if (!self::AddSubjectRecursive($CurrentDependency->dependent_subject_id, $user_id)) {
             return false;
         }
     }
     return true;
 }