Horde_Date_Recurrence::getCompletions PHP Method

getCompletions() public method

Retrieves all the completions for this event.
public getCompletions ( ) : array
return array Array containing the dates of all the completions in YYYYMMDD form.
    public function getCompletions()
    {
        return $this->completions;
    }

Usage Example

Exemplo n.º 1
0
 /**
  * Toggles completion status of this task. Moves a recurring task
  * to the next occurence on completion.
  */
 public function toggleComplete()
 {
     if ($this->completed) {
         $this->completed_date = null;
         $this->completed = false;
         if ($this->recurs()) {
             /* What do we want do delete here? All completions?
              * The latest completion? Any completion in the
              * future?. */
             foreach ($this->recurrence->getCompletions() as $completion) {
                 $this->recurrence->deleteCompletion(substr($completion, 0, 4), substr($completion, 4, 2), substr($completion, 6, 2));
             }
         }
         return;
     }
     if ($this->recurs()) {
         /* Get current occurrence (task due date) */
         $current = $this->recurrence->nextActiveRecurrence(new Horde_Date($this->due));
         if ($current) {
             $this->recurrence->addCompletion($current->year, $current->month, $current->mday);
             /* Advance this occurence by a day to indicate that we
              * want the following occurence (Recurrence uses days
              * as minimal time duration between occurrences). */
             $current->mday++;
             /* Only mark this due date completed if there is another
              * occurence. */
             if ($next = $this->recurrence->nextActiveRecurrence($current)) {
                 $this->completed = false;
                 return;
             }
         }
     }
     $this->completed_date = time();
     $this->completed = true;
 }
All Usage Examples Of Horde_Date_Recurrence::getCompletions