本文整理汇总了PHP中Notifier::completeTask方法的典型用法代码示例。如果您正苦于以下问题:PHP Notifier::completeTask方法的具体用法?PHP Notifier::completeTask怎么用?PHP Notifier::completeTask使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Notifier
的用法示例。
在下文中一共展示了Notifier::completeTask方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: completeTask
/**
* Complete this task and check if we need to complete the list
*
* @access public
* @param void
* @return null
*/
function completeTask()
{
$this->setCompletedOn(DateTimeValueLib::now());
$this->setCompletedById(logged_user()->getId());
$this->save();
$notify_people = array();
$project_companies = array();
if ($this->getAssignedTo() == null) {
$project_companies = active_project()->getCompanies();
}
if ($this->getAssignedTo() instanceof Company) {
$project_companies = array($this->getAssignedTo());
}
if ($this->getAssignedTo() instanceof User) {
$notify_people = array($this->getAssignedTo());
}
foreach ($project_companies as $project_company) {
$company_users = $project_company->getUsersOnProject(active_project());
if (is_array($company_users)) {
foreach ($company_users as $company_user) {
$notify_people[] = $company_user;
}
}
}
// foreach
Notifier::completeTask($this, $notify_people);
$task_list = $this->getTaskList();
if ($task_list instanceof ProjectTaskList && $task_list->isOpen()) {
$open_tasks = $task_list->getOpenTasks();
if (empty($open_tasks)) {
$task_list->complete(DateTimeValueLib::now(), logged_user());
}
}
// if
}