ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
ilExcAssMemberState Class Reference

This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Learning e.V. More...

+ Collaboration diagram for ilExcAssMemberState:

Public Member Functions

 getIndividualDeadlineObject ()
 
 getGeneralStart ()
 
 getGeneralStartPresentation ()
 
 getIndividualStart ()
 
 hasGenerallyStarted ()
 
 getCalculatedDeadline ()
 Calculated deadline is only given, if a relative deadline is given and the user started the assignment the value may be restricted by the last submission date for relative deadlines. More...
 
 getRelativeDeadline ()
 
 getLastSubmissionOfRelativeDeadline ()
 
 getRelativeDeadlinePresentation ()
 
 getOfficialDeadline ()
 Get official deadline (individual deadline, fixed deadline or calculated deadline (using relative deadline and starting ts)) Grace period is not taken into account here. More...
 
 getOfficialDeadlinePresentation ()
 
 getLastSubmissionOfRelativeDeadlinePresentation ()
 
 exceededOfficialDeadline ()
 
 getRemainingTimePresentation ()
 Remaining time presentation (based on official deadline) More...
 
 getIndividualDeadline ()
 
 getIndividualDeadlinePresentation ()
 
 getCommonDeadline ()
 
 getCommonDeadlinePresentation ()
 
 getEffectiveDeadline ()
 
 getPeerReviewDeadline ()
 
 getPeerReviewDeadlinePresentation ()
 
 isPeerReviewAllowed ()
 
 areInstructionsVisible ()
 
 inLateSubmissionPhase ()
 
 hasSubmissionStarted ()
 Check if the submission phase has started for the current user (if the assignment is generally started and for relative deadlines, if the user started the assignment) More...
 
 hasSubmissionEnded ()
 
 hasSubmissionEndedForAllUsers ()
 
 isSubmissionAllowed ()
 
 isGlobalFeedbackFileAccessible (ilExSubmission $submission)
 

Static Public Member Functions

static getInstanceByIds (int $a_ass_id, int $a_user_id=0)
 
static getInstance (ilExAssignment $a_ass, ilObjUser $a_user, ilExcIndividualDeadline $a_idl, int $a_time, ilLanguage $lng, ilExAssignmentTeam $a_team=null)
 Usually you should prefer to use getInstanceByIds. More...
 

Protected Member Functions

 __construct (ilExAssignment $a_ass, ilObjUser $a_user, ilExcIndividualDeadline $a_idl, int $a_time, ilLanguage $lng, ilExAssignmentTeam $a_team=null)
 
 getTimePresentation ($a_timestamp)
 

Protected Attributes

int $ass_id
 
int $user_id
 
ilExAssignment $assignment
 
int $time
 
ilLanguage $lng
 
int $member_id
 either user id or team id, if this is a team assignment and the user is member of a team, in this case is_team is true More...
 
int $team_id = 0
 
bool $is_team = false
 
ilExcIndividualDeadline $idl
 

Detailed Description

This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Learning e.V.

ILIAS is licensed with the GPL-3.0, see https://www.gnu.org/licenses/gpl-3.0.en.html You should have received a copy of said license along with the source code, too.

If this is not the case or you just want to try ILIAS, you'll find us at: https://www.ilias.de https://github.com/ILIAS-eLearning Handles everything about the state (current phase) of a user in an assignment using assignment, individual deadline, user and team information.

  • General Start: As entered in settings. For absolute deadlines, this also starts the submission, for relative deadline this allows the user to start the submission period. (0 = immediately)
  • Individual Start: TS when user hits "Start" button for an assignment using a relative deadline
  • Submission Start: For absolute deadlines this is General Start, for relative deadlines Individual Start
  • Deadline: absolute Deadline (e.g. 5.12.2017) as set in settings
  • Relative Deadline: relative Deadline (e.g. 10 Days) as set in settings
  • Last Submission for Relative Deadlines: As set in the settings
  • Calculated Deadline: Min of (Starting Timestamp + Relative Deadline, Last Submission for Relative Deadlines)
  • Individual Deadline: Set by tutor in "Submissions and Grade" screen
  • Common Deadline: Deadline or Calculated Deadline Used for "Ended on" or "Edit Until" presentation
  • Official Deadline: Max of (Deadline and Individual Deadline) or (Calculated Deadline and Individual Deadline)
  • Effective Deadline: Max of official deadline and grace period end date
  • Grace Period End Date: As being set in the settings of assignmet by tutor
  • Grace Period: Period between Official Deadline and Grace Period End Date.
  • Submission Period: From Submission Start (if not given immediately) to Max of (Official Deadline and Grace Period End Date)
  • Late Submission Period: Submissions being handed in during Grace Period
  • Peer Review Start: Max of (Official Deadline OF ALL USERS and Grace Period End Date)
  • Peer Review Deadline: As being set in the settings of assignmet by tutor
  • Peer Review Period: From Peer Feedback Start to Peer Feedback Deadline (may be infinite, if no deadline given)
Author
Alexander Killing killi.nosp@m.ng@l.nosp@m.eifos.nosp@m..de

Definition at line 46 of file class.ilExcAssMemberState.php.

Constructor & Destructor Documentation

◆ __construct()

ilExcAssMemberState::__construct ( ilExAssignment  $a_ass,
ilObjUser  $a_user,
ilExcIndividualDeadline  $a_idl,
int  $a_time,
ilLanguage  $lng,
ilExAssignmentTeam  $a_team = null 
)
protected

Definition at line 63 of file class.ilExcAssMemberState.php.

References $lng, ilExAssignment\getId(), ilObject\getId(), ILIAS\Repository\lng(), and ilExAssignment\TYPE_UPLOAD_TEAM.

70  {
71  $this->time = $a_time;
72  $this->ass_id = $a_ass->getId();
73  $this->user_id = $a_user->getId();
74  $this->member_id = $a_user->getId();
75  $this->lng = $lng;
76 
77  $this->assignment = $a_ass;
78 
79  // check team status
80  $this->is_team = false;
81  if ($this->assignment->getType() == ilExAssignment::TYPE_UPLOAD_TEAM) {
82  if ($a_team->getId()) {
83  $this->member_id = $a_team->getId();
84  $this->team_id = $a_team->getId();
85  $this->is_team = true;
86  }
87  }
88 
89  $this->idl = $a_idl;
90  }
+ Here is the call graph for this function:

Member Function Documentation

◆ areInstructionsVisible()

ilExcAssMemberState::areInstructionsVisible ( )

Definition at line 387 of file class.ilExcAssMemberState.php.

References hasSubmissionStarted().

387  : bool
388  {
389  return $this->hasSubmissionStarted();
390  }
hasSubmissionStarted()
Check if the submission phase has started for the current user (if the assignment is generally starte...
+ Here is the call graph for this function:

◆ exceededOfficialDeadline()

ilExcAssMemberState::exceededOfficialDeadline ( )

Definition at line 260 of file class.ilExcAssMemberState.php.

References getOfficialDeadline().

Referenced by ilExAssignmentInfo\getScheduleInfo().

260  : bool
261  {
262  $od = $this->getOfficialDeadline();
263  if ($od && $od < time()) {
264  return true;
265  }
266  return false;
267  }
getOfficialDeadline()
Get official deadline (individual deadline, fixed deadline or calculated deadline (using relative dea...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getCalculatedDeadline()

ilExcAssMemberState::getCalculatedDeadline ( )

Calculated deadline is only given, if a relative deadline is given and the user started the assignment the value may be restricted by the last submission date for relative deadlines.

Definition at line 177 of file class.ilExcAssMemberState.php.

References ilExAssignment\DEADLINE_RELATIVE.

Referenced by getCommonDeadline(), and getOfficialDeadline().

177  : int
178  {
179  $calculated_deadline = 0;
180  if ($this->assignment->getDeadlineMode() == ilExAssignment::DEADLINE_RELATIVE) {
181  if ($this->idl->getStartingTimestamp() && $this->assignment->getRelativeDeadline()) {
182  $calculated_deadline = $this->idl->getStartingTimestamp() + ($this->assignment->getRelativeDeadline() * 24 * 60 * 60);
183  }
184  if ($this->assignment->getRelDeadlineLastSubmission() > 0 &&
185  $calculated_deadline > $this->assignment->getRelDeadlineLastSubmission()) {
186  $calculated_deadline = $this->assignment->getRelDeadlineLastSubmission();
187  }
188  }
189  return $calculated_deadline;
190  }
+ Here is the caller graph for this function:

◆ getCommonDeadline()

ilExcAssMemberState::getCommonDeadline ( )

Definition at line 312 of file class.ilExcAssMemberState.php.

References ilExAssignment\DEADLINE_ABSOLUTE, and getCalculatedDeadline().

Referenced by getCommonDeadlinePresentation(), getIndividualDeadline(), and ilExAssignmentInfo\getScheduleInfo().

312  : int
313  {
314  if ($this->assignment->getDeadlineMode() == ilExAssignment::DEADLINE_ABSOLUTE) { // absolute deadline
315  return $this->assignment->getDeadline();
316  }
317 
318  return $this->getCalculatedDeadline();
319  }
getCalculatedDeadline()
Calculated deadline is only given, if a relative deadline is given and the user started the assignmen...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getCommonDeadlinePresentation()

ilExcAssMemberState::getCommonDeadlinePresentation ( )
Returns
string
Exceptions
ilDateTimeException

Definition at line 325 of file class.ilExcAssMemberState.php.

References getCommonDeadline(), and getTimePresentation().

Referenced by ilExAssignmentInfo\getScheduleInfo().

325  : string
326  {
327  if ($this->getCommonDeadline() > 0) {
328  return $this->getTimePresentation($this->getCommonDeadline());
329  }
330 
331  return "no deadline";
332  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getEffectiveDeadline()

ilExcAssMemberState::getEffectiveDeadline ( )

Definition at line 335 of file class.ilExcAssMemberState.php.

References getOfficialDeadline().

Referenced by hasSubmissionEnded(), and hasSubmissionEndedForAllUsers().

335  : int
336  {
337  return max($this->getOfficialDeadline(), $this->assignment->getExtendedDeadline());
338  }
getOfficialDeadline()
Get official deadline (individual deadline, fixed deadline or calculated deadline (using relative dea...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getGeneralStart()

ilExcAssMemberState::getGeneralStart ( )

Definition at line 142 of file class.ilExcAssMemberState.php.

Referenced by getGeneralStartPresentation(), and ilExAssignmentInfo\getScheduleInfo().

142  : ?int
143  {
144  return $this->assignment->getStartTime();
145  }
+ Here is the caller graph for this function:

◆ getGeneralStartPresentation()

ilExcAssMemberState::getGeneralStartPresentation ( )
Returns
string
Exceptions
ilDateTimeException

Definition at line 151 of file class.ilExcAssMemberState.php.

References getGeneralStart(), and getTimePresentation().

Referenced by ilExAssignmentInfo\getScheduleInfo().

151  : string
152  {
153  if ($this->getGeneralStart()) {
154  return $this->getTimePresentation($this->getGeneralStart());
155  }
156  return "";
157  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getIndividualDeadline()

ilExcAssMemberState::getIndividualDeadline ( )

Definition at line 290 of file class.ilExcAssMemberState.php.

References getCommonDeadline().

Referenced by getIndividualDeadlinePresentation().

290  : int
291  {
292  if ($this->idl->getIndividualDeadline() > $this->getCommonDeadline()) {
293  return $this->idl->getIndividualDeadline();
294  }
295  return 0;
296  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getIndividualDeadlineObject()

ilExcAssMemberState::getIndividualDeadlineObject ( )

Definition at line 137 of file class.ilExcAssMemberState.php.

References $idl.

138  {
139  return $this->idl;
140  }
ilExcIndividualDeadline $idl
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

◆ getIndividualDeadlinePresentation()

ilExcAssMemberState::getIndividualDeadlinePresentation ( )
Returns
string
Exceptions
ilDateTimeException

Definition at line 302 of file class.ilExcAssMemberState.php.

References getIndividualDeadline(), and getTimePresentation().

302  : string
303  {
304  if ($this->getIndividualDeadline() > 0) {
305  return $this->getTimePresentation($this->getIndividualDeadline());
306  }
307 
308  return "";
309  }
+ Here is the call graph for this function:

◆ getIndividualStart()

ilExcAssMemberState::getIndividualStart ( )

Definition at line 159 of file class.ilExcAssMemberState.php.

References ilExAssignment\DEADLINE_RELATIVE.

Referenced by hasSubmissionStarted().

159  : int
160  {
161  if ($this->assignment->getDeadlineMode() == ilExAssignment::DEADLINE_RELATIVE) {
162  return $this->idl->getStartingTimestamp();
163  }
164  return 0;
165  }
+ Here is the caller graph for this function:

◆ getInstance()

static ilExcAssMemberState::getInstance ( ilExAssignment  $a_ass,
ilObjUser  $a_user,
ilExcIndividualDeadline  $a_idl,
int  $a_time,
ilLanguage  $lng,
ilExAssignmentTeam  $a_team = null 
)
static

Usually you should prefer to use getInstanceByIds.

If you use getInstance you need to ensure consistency (e.g. deadline needs to match user)

Definition at line 126 of file class.ilExcAssMemberState.php.

References $lng.

134  return new self($a_ass, $a_user, $a_idl, $a_time, $lng, $a_team);
135  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

◆ getInstanceByIds()

static ilExcAssMemberState::getInstanceByIds ( int  $a_ass_id,
int  $a_user_id = 0 
)
static

Definition at line 93 of file class.ilExcAssMemberState.php.

References $DIC, ilExcIndividualDeadline\getInstance(), ilExAssignmentTeam\getInstanceByUserId(), and ilExAssignment\TYPE_UPLOAD_TEAM.

Referenced by ilExAssignmentInfo\__construct(), ilExSubmission\__construct(), ilCalendarScheduleFilterExercise\addCustomEvents(), ilExAssignmentGUI\addPublicSubmissions(), ilExAssignmentGUI\addSchedule(), ilExAssignmentGUI\addSubmission(), ilAppointmentPresentationExerciseGUI\collectPropertiesAndActions(), ilExSubmissionGUI\downloadFileObject(), ilExSubmissionGUI\downloadGlobalFeedbackFileObject(), ilAppointmentExerciseFileHandler\getFiles(), ilExAssignmentGUI\getOverviewBody(), ilExSubmissionTeamGUI\getOverviewContent(), ilExPeerReviewGUI\getOverviewContent(), ilExAssignmentGUI\getOverviewHeader(), ilExAssignmentReminder\getReminders(), ilBlogExerciseGUI\getSubmitButton(), ilPortfolioExerciseGUI\getSubmitButton(), ilExerciseDerivedTaskProvider\getTasks(), ilExAssignmentReminder\parsePeerReminders(), and ilObjExerciseGUI\startAssignmentObject().

97  global $DIC;
98 
99  $lng = $DIC->language();
100  $user = ($a_user_id > 0)
101  ? new ilObjUser($a_user_id)
102  : $DIC->user();
103 
104  $ass = new ilExAssignment($a_ass_id);
105 
106  $member_id = $user->getId();
107  $is_team = false;
108  $team = null;
109  if ($ass->getType() == ilExAssignment::TYPE_UPLOAD_TEAM) { // better move this to ilExcIndividualDeadline
110  $team = ilExAssignmentTeam::getInstanceByUserId($a_ass_id, $user->getId());
111  if ($team->getId()) {
112  $member_id = $team->getId();
113  $is_team = true;
114  }
115  }
116 
117  // note: team may be not null, but is_team still false
119 
120  return self::getInstance($ass, $user, $idl, time(), $lng, $team);
121  }
ilExcIndividualDeadline $idl
Exercise assignment.
static getInstanceByUserId(int $a_assignment_id, int $a_user_id, bool $a_create_on_demand=false)
int $member_id
either user id or team id, if this is a team assignment and the user is member of a team...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
global $DIC
Definition: feed.php:28
static getInstance(int $a_ass_id, int $a_participant_id, bool $a_is_team=false)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getLastSubmissionOfRelativeDeadline()

ilExcAssMemberState::getLastSubmissionOfRelativeDeadline ( )

Definition at line 200 of file class.ilExcAssMemberState.php.

References ilExAssignment\DEADLINE_RELATIVE.

Referenced by getLastSubmissionOfRelativeDeadlinePresentation().

200  : int
201  {
202  if ($this->assignment->getDeadlineMode() == ilExAssignment::DEADLINE_RELATIVE) {
203  return $this->assignment->getRelDeadlineLastSubmission();
204  }
205  return 0;
206  }
+ Here is the caller graph for this function:

◆ getLastSubmissionOfRelativeDeadlinePresentation()

ilExcAssMemberState::getLastSubmissionOfRelativeDeadlinePresentation ( )
Returns
string
Exceptions
ilDateTimeException

Definition at line 250 of file class.ilExcAssMemberState.php.

References getLastSubmissionOfRelativeDeadline(), and getTimePresentation().

250  : string
251  {
252  if ($this->getLastSubmissionOfRelativeDeadline() > 0) {
254  }
255 
256  return "";
257  }
+ Here is the call graph for this function:

◆ getOfficialDeadline()

ilExcAssMemberState::getOfficialDeadline ( )

Get official deadline (individual deadline, fixed deadline or calculated deadline (using relative deadline and starting ts)) Grace period is not taken into account here.

Definition at line 221 of file class.ilExcAssMemberState.php.

References ilExAssignment\DEADLINE_ABSOLUTE, and getCalculatedDeadline().

Referenced by exceededOfficialDeadline(), getEffectiveDeadline(), getOfficialDeadlinePresentation(), getRemainingTimePresentation(), ilExAssignmentInfo\getScheduleInfo(), and inLateSubmissionPhase().

221  : int
222  {
223  $dl = $this->idl->getIndividualDeadline(); // team or user individual deadline
224 
225  if ($this->assignment->getDeadlineMode() == ilExAssignment::DEADLINE_ABSOLUTE) { // absolute deadline
226  return max($this->assignment->getDeadline(), $dl); // take what's greater: idl or abs deadline
227  }
228 
229  // relative deadline: take max idl or calculated deadline
230  return max($this->getCalculatedDeadline(), $dl);
231  }
getCalculatedDeadline()
Calculated deadline is only given, if a relative deadline is given and the user started the assignmen...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getOfficialDeadlinePresentation()

ilExcAssMemberState::getOfficialDeadlinePresentation ( )
Returns
string
Exceptions
ilDateTimeException

Definition at line 237 of file class.ilExcAssMemberState.php.

References getOfficialDeadline(), and getTimePresentation().

Referenced by ilExAssignmentInfo\getScheduleInfo().

237  : string
238  {
239  if ($this->getOfficialDeadline() > 0) {
240  return $this->getTimePresentation($this->getOfficialDeadline());
241  }
242 
243  return "";
244  }
getOfficialDeadline()
Get official deadline (individual deadline, fixed deadline or calculated deadline (using relative dea...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getPeerReviewDeadline()

ilExcAssMemberState::getPeerReviewDeadline ( )

Definition at line 340 of file class.ilExcAssMemberState.php.

Referenced by getPeerReviewDeadlinePresentation(), and isPeerReviewAllowed().

340  : int
341  {
342  if ($this->assignment->getPeerReview() &&
343  $this->assignment->getPeerReviewDeadline()) {
344  return $this->assignment->getPeerReviewDeadline();
345  }
346  return 0;
347  }
+ Here is the caller graph for this function:

◆ getPeerReviewDeadlinePresentation()

ilExcAssMemberState::getPeerReviewDeadlinePresentation ( )
Returns
string
Exceptions
ilDateTimeException

Definition at line 353 of file class.ilExcAssMemberState.php.

References getPeerReviewDeadline(), and getTimePresentation().

353  : string
354  {
355  if ($this->getPeerReviewDeadline() > 0) {
356  return $this->getTimePresentation($this->getPeerReviewDeadline());
357  }
358 
359  return "no peer review deadline";
360  }
+ Here is the call graph for this function:

◆ getRelativeDeadline()

ilExcAssMemberState::getRelativeDeadline ( )

Definition at line 192 of file class.ilExcAssMemberState.php.

References ilExAssignment\DEADLINE_RELATIVE.

Referenced by getRelativeDeadlinePresentation(), and ilExAssignmentInfo\getScheduleInfo().

192  : int
193  {
194  if ($this->assignment->getDeadlineMode() == ilExAssignment::DEADLINE_RELATIVE) {
195  return $this->assignment->getRelativeDeadline();
196  }
197  return 0;
198  }
+ Here is the caller graph for this function:

◆ getRelativeDeadlinePresentation()

ilExcAssMemberState::getRelativeDeadlinePresentation ( )

Definition at line 208 of file class.ilExcAssMemberState.php.

References ilExAssignment\DEADLINE_RELATIVE, getRelativeDeadline(), and ILIAS\Repository\lng().

Referenced by ilExAssignmentInfo\getScheduleInfo().

208  : string
209  {
210  if ($this->assignment->getDeadlineMode() == ilExAssignment::DEADLINE_RELATIVE) {
211  return $this->getRelativeDeadline() . " " . $this->lng->txt("days");
212  }
213  return "";
214  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getRemainingTimePresentation()

ilExcAssMemberState::getRemainingTimePresentation ( )

Remaining time presentation (based on official deadline)

Returns
string
Exceptions
ilDateTimeException

Definition at line 274 of file class.ilExcAssMemberState.php.

References $lng, getOfficialDeadline(), IL_CAL_UNIX, ilLegacyFormElementsUtil\period2String(), and ilLanguage\txt().

Referenced by ilExAssignmentInfo\getScheduleInfo().

274  : string
275  {
276  $lng = $this->lng;
277  $official_deadline = $this->getOfficialDeadline();
278  if ($official_deadline == 0) {
279  return $lng->txt("exc_no_deadline_specified");
280  }
281  if ($official_deadline - $this->time <= 0) {
282  $time_str = $lng->txt("exc_time_over_short");
283  } else {
284  $time_str = ilLegacyFormElementsUtil::period2String(new ilDateTime($official_deadline, IL_CAL_UNIX));
285  }
286 
287  return $time_str;
288  }
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
static period2String(ilDateTime $a_from, $a_to=null)
Return a string of time period.
const IL_CAL_UNIX
getOfficialDeadline()
Get official deadline (individual deadline, fixed deadline or calculated deadline (using relative dea...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getTimePresentation()

ilExcAssMemberState::getTimePresentation (   $a_timestamp)
protected
Parameters
$a_timestamp
Returns
string
Exceptions
ilDateTimeException

Definition at line 378 of file class.ilExcAssMemberState.php.

References ilDatePresentation\formatDate(), and IL_CAL_UNIX.

Referenced by getCommonDeadlinePresentation(), getGeneralStartPresentation(), getIndividualDeadlinePresentation(), getLastSubmissionOfRelativeDeadlinePresentation(), getOfficialDeadlinePresentation(), and getPeerReviewDeadlinePresentation().

378  : string
379  {
380  if ($a_timestamp > 0) {
381  return ilDatePresentation::formatDate(new ilDateTime($a_timestamp, IL_CAL_UNIX));
382  }
383 
384  return "";
385  }
static formatDate(ilDateTime $date, bool $a_skip_day=false, bool $a_include_wd=false, bool $include_seconds=false)
const IL_CAL_UNIX
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ hasGenerallyStarted()

ilExcAssMemberState::hasGenerallyStarted ( )

Definition at line 167 of file class.ilExcAssMemberState.php.

Referenced by hasSubmissionStarted().

167  : bool
168  {
169  return !$this->assignment->notStartedYet();
170  }
+ Here is the caller graph for this function:

◆ hasSubmissionEnded()

ilExcAssMemberState::hasSubmissionEnded ( )

Definition at line 419 of file class.ilExcAssMemberState.php.

References getEffectiveDeadline().

Referenced by isSubmissionAllowed().

419  : bool
420  {
421  if ($this->getEffectiveDeadline() == 0) {
422  return false;
423  }
424 
425  if ($this->time > $this->getEffectiveDeadline()) {
426  return true;
427  }
428  return false;
429  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ hasSubmissionEndedForAllUsers()

ilExcAssMemberState::hasSubmissionEndedForAllUsers ( )

Definition at line 432 of file class.ilExcAssMemberState.php.

References getEffectiveDeadline().

Referenced by isGlobalFeedbackFileAccessible(), and isPeerReviewAllowed().

432  : bool
433  {
434  $global_subm_end = max($this->getEffectiveDeadline(), $this->assignment->getLastPersonalDeadline());
435 
436  if ($global_subm_end == 0) {
437  return false;
438  }
439 
440  if ($this->time > $global_subm_end) {
441  return true;
442  }
443  return false;
444  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ hasSubmissionStarted()

ilExcAssMemberState::hasSubmissionStarted ( )

Check if the submission phase has started for the current user (if the assignment is generally started and for relative deadlines, if the user started the assignment)

Definition at line 409 of file class.ilExcAssMemberState.php.

References ilExAssignment\DEADLINE_ABSOLUTE, getIndividualStart(), and hasGenerallyStarted().

Referenced by areInstructionsVisible(), ilExAssignmentInfo\getScheduleInfo(), and isSubmissionAllowed().

409  : bool
410  {
411  if ($this->hasGenerallyStarted() && ($this->assignment->getDeadlineMode() == ilExAssignment::DEADLINE_ABSOLUTE ||
412  $this->getIndividualStart() > 0)) {
413  return true;
414  }
415  return false;
416  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ inLateSubmissionPhase()

ilExcAssMemberState::inLateSubmissionPhase ( )

Definition at line 392 of file class.ilExcAssMemberState.php.

References getOfficialDeadline(), and isSubmissionAllowed().

Referenced by ilExAssignmentInfo\getScheduleInfo().

392  : bool
393  {
394  // official deadline is done, but submission still allowed
395  if ($this->getOfficialDeadline() &&
396  $this->getOfficialDeadline() < $this->time &&
397  $this->isSubmissionAllowed()) {
398  return true;
399  }
400  return false;
401  }
getOfficialDeadline()
Get official deadline (individual deadline, fixed deadline or calculated deadline (using relative dea...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isGlobalFeedbackFileAccessible()

ilExcAssMemberState::isGlobalFeedbackFileAccessible ( ilExSubmission  $submission)

Definition at line 455 of file class.ilExcAssMemberState.php.

References ilExAssignment\FEEDBACK_DATE_CUSTOM, ilExAssignment\FEEDBACK_DATE_DEADLINE, hasSubmissionEndedForAllUsers(), and ilExSubmission\hasSubmitted().

455  : bool
456  {
457  if (!$this->assignment->getFeedbackFile()) {
458  return false;
459  }
460 
461  // global feedback / sample solution
462  if ($this->assignment->getFeedbackDate() == ilExAssignment::FEEDBACK_DATE_DEADLINE) {
463  $access = $this->hasSubmissionEndedForAllUsers();
464  } elseif ($this->assignment->getFeedbackDate() == ilExAssignment::FEEDBACK_DATE_CUSTOM) {
465  $access = $this->assignment->afterCustomDate();
466  } else {
467  $access = $submission->hasSubmitted();
468  }
469 
470  return $access;
471  }
+ Here is the call graph for this function:

◆ isPeerReviewAllowed()

ilExcAssMemberState::isPeerReviewAllowed ( )

Definition at line 363 of file class.ilExcAssMemberState.php.

References $time, getPeerReviewDeadline(), and hasSubmissionEndedForAllUsers().

363  : bool
364  {
365  if ($this->assignment->getPeerReview() && $this->hasSubmissionEndedForAllUsers()
366  && ($this->getPeerReviewDeadline() == 0 || $this->getPeerReviewDeadline() > $this->time)) {
367  return true;
368  }
369 
370  return false;
371  }
+ Here is the call graph for this function:

◆ isSubmissionAllowed()

ilExcAssMemberState::isSubmissionAllowed ( )

Definition at line 446 of file class.ilExcAssMemberState.php.

References hasSubmissionEnded(), and hasSubmissionStarted().

Referenced by inLateSubmissionPhase().

446  : bool
447  {
448  if ($this->hasSubmissionStarted() && !$this->hasSubmissionEnded()) {
449  return true;
450  }
451  return false;
452  }
hasSubmissionStarted()
Check if the submission phase has started for the current user (if the assignment is generally starte...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $ass_id

int ilExcAssMemberState::$ass_id
protected

Definition at line 48 of file class.ilExcAssMemberState.php.

◆ $assignment

ilExAssignment ilExcAssMemberState::$assignment
protected

Definition at line 50 of file class.ilExcAssMemberState.php.

◆ $idl

ilExcIndividualDeadline ilExcAssMemberState::$idl
protected

Definition at line 61 of file class.ilExcAssMemberState.php.

Referenced by getIndividualDeadlineObject().

◆ $is_team

bool ilExcAssMemberState::$is_team = false
protected

Definition at line 60 of file class.ilExcAssMemberState.php.

◆ $lng

ilLanguage ilExcAssMemberState::$lng
protected

◆ $member_id

int ilExcAssMemberState::$member_id
protected

either user id or team id, if this is a team assignment and the user is member of a team, in this case is_team is true

Definition at line 58 of file class.ilExcAssMemberState.php.

◆ $team_id

int ilExcAssMemberState::$team_id = 0
protected

Definition at line 59 of file class.ilExcAssMemberState.php.

◆ $time

int ilExcAssMemberState::$time
protected

Definition at line 51 of file class.ilExcAssMemberState.php.

Referenced by isPeerReviewAllowed().

◆ $user_id

int ilExcAssMemberState::$user_id
protected

Definition at line 49 of file class.ilExcAssMemberState.php.


The documentation for this class was generated from the following file: