/**
  * Get members for object
  * @param int $a_obj_id
  * @return array
  */
 protected static function getMembers($a_obj_id)
 {
     include_once './Modules/Exercise/classes/class.ilExerciseMembers.php';
     return ilExerciseMembers::_getMembers($a_obj_id);
 }
Пример #2
0
 public function sendFeedbackNotifications($a_ass_id)
 {
     global $ilDB;
     $ass = new self($a_ass_id);
     // valid assignment?
     if (!$ass->hasFeedbackCron() || !$ass->getFeedbackFile()) {
         return false;
     }
     // already done?
     $set = $ilDB->query("SELECT fb_cron_done" . " FROM exc_assignment" . " WHERE id = " . $ilDB->quote($a_ass_id, "integer"));
     $row = $ilDB->fetchAssoc($set);
     if ($row["fb_cron_done"]) {
         return false;
     }
     include_once "./Services/Notification/classes/class.ilSystemNotification.php";
     $ntf = new ilSystemNotification();
     $ntf->setLangModules(array("exc"));
     $ntf->setObjId($ass->getExerciseId());
     $ntf->setSubjectLangId("exc_feedback_notification_subject");
     $ntf->setIntroductionLangId("exc_feedback_notification_body");
     $ntf->addAdditionalInfo("exc_assignment", $ass->getTitle());
     $ntf->setGotoLangId("exc_feedback_notification_link");
     $ntf->setReasonLangId("exc_feedback_notification_reason");
     include_once "./Modules/Exercise/classes/class.ilExerciseMembers.php";
     $ntf->sendMail(ilExerciseMembers::_getMembers($ass->getExerciseId()));
     $ilDB->manipulate("UPDATE exc_assignment" . " SET fb_cron_done = " . $ilDB->quote(1, "integer") . " WHERE id = " . $ilDB->quote($a_ass_id, "integer"));
     return true;
 }
 /**
  * create xml for files per assignment
  * 
  * @param integer $ex_id exercise id
  * @param array $assignments assignment id
  */
 private function handleAssignmentMembers($ex_id, $assignments)
 {
     $this->xmlStartTag("Members");
     include_once "./Modules/Exercise/classes/class.ilExerciseMembers.php";
     $members = ilExerciseMembers::_getMembers($ex_id);
     if (count($members)) {
         foreach ($members as $member_id) {
             $this->xmlStartTag("Member", array("usr_id" => "il_" . IL_INST_ID . "_usr_" . $member_id));
             if (count($assignments) > 0) {
                 foreach ($assignments as $assignment) {
                     $this->attachMarking($member_id, $assignment["id"]);
                     //todo: handle only first assignment, must be fixed when for dtd
                     break;
                 }
             }
             $this->xmlEndTag("Member");
         }
     }
     $this->xmlEndTag("Members");
 }
 /**
  * create xml for files per assignment
  * 
  * @param integer $ex_id exercise id
  * @param array $assignments assignment id
  */
 private function handleAssignmentMembers($ex_id, $assignment_id)
 {
     $this->xmlStartTag("Members");
     include_once "./Modules/Exercise/classes/class.ilExerciseMembers.php";
     $members = ilExerciseMembers::_getMembers($ex_id);
     if (count($members)) {
         foreach ($members as $member_id) {
             $this->xmlStartTag("Member", array("usr_id" => "il_" . IL_INST_ID . "_usr_" . $member_id));
             $this->attachMarking($member_id, $assignment_id);
             $this->xmlEndTag("Member");
         }
     }
     $this->xmlEndTag("Members");
 }
 /**
  * Get members for object
  * @param int $a_obj_id
  * @return array
  */
 protected static function getMembers($a_obj_id)
 {
     global $ilObjDataCache;
     switch ($ilObjDataCache->lookupType($a_obj_id)) {
         case 'crs':
             include_once 'Modules/Course/classes/class.ilCourseParticipants.php';
             $member_obj = ilCourseParticipants::_getInstanceByObjId($a_obj_id);
             return $member_obj->getMembers();
         case 'exc':
             include_once './Modules/Exercise/classes/class.ilExerciseMembers.php';
             return ilExerciseMembers::_getMembers($a_obj_id);
         case 'grp':
             include_once './Modules/Group/classes/class.ilObjGroup.php';
             return ilObjGroup::_getMembers($a_obj_id);
     }
     return array();
 }