本文整理汇总了PHP中Notifier::newTask方法的典型用法代码示例。如果您正苦于以下问题:PHP Notifier::newTask方法的具体用法?PHP Notifier::newTask怎么用?PHP Notifier::newTask使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Notifier
的用法示例。
在下文中一共展示了Notifier::newTask方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: add_task
/**
* Add single task
*
* @access public
* @param void
* @return null
*/
function add_task()
{
$task_list = ProjectTaskLists::findById(get_id('task_list_id'));
if (!$task_list instanceof ProjectTaskList) {
flash_error(lang('task list dnx'));
$this->redirectTo('task');
}
// if
if (!$task_list->canAddTask(logged_user())) {
flash_error(lang('no access permissions'));
$this->redirectTo('task');
}
// if
$back_to_list = array_var($_GET, 'back_to_list');
$task = new ProjectTask();
$task_data = array_var($_POST, 'task');
if (!is_array($task_data)) {
$task_data = array('due_date' => DateTimeValueLib::now());
// array
}
// if
tpl_assign('task', $task);
tpl_assign('task_list', $task_list);
tpl_assign('back_to_list', $back_to_list);
tpl_assign('task_data', $task_data);
// Form is submitted
if (is_array(array_var($_POST, 'task'))) {
$old_owner = $task->getAssignedTo();
//$task_data['due_date'] = DateTimeValueLib::make(0, 0, 0, array_var($_POST, 'task_due_date_month', 1), array_var($_POST, 'task_due_date_day', 1), array_var($_POST, 'task_due_date_year', 1970));
if (isset($_POST['task_start_date'])) {
$task_data['start_date'] = DateTimeValueLib::makeFromString($_POST['task_start_date']);
} else {
$task_data['start_date'] = DateTimeValueLib::make(0, 0, 0, array_var($_POST, 'task_start_date_month', 1), array_var($_POST, 'task_start_date_day', 1), array_var($_POST, 'task_start_date_year', 1970));
}
if (isset($_POST['task_due_date'])) {
$task_data['due_date'] = DateTimeValueLib::makeFromString($_POST['task_due_date']);
} else {
$task_data['due_date'] = DateTimeValueLib::make(0, 0, 0, array_var($_POST, 'task_due_date_month', 1), array_var($_POST, 'task_due_date_day', 1), array_var($_POST, 'task_due_date_year', 1970));
}
$task->setFromAttributes($task_data);
$assigned_to = explode(':', array_var($task_data, 'assigned_to', ''));
$task->setAssignedToCompanyId(array_var($assigned_to, 0, 0));
$task->setAssignedToUserId(array_var($assigned_to, 1, 0));
try {
DB::beginWork();
$task->save();
$task_list->attachTask($task);
ApplicationLogs::createLog($task, active_project(), ApplicationLogs::ACTION_ADD);
DB::commit();
// notify user
if (array_var($task_data, 'send_notification') == 'checked') {
try {
$notify_people = array();
$project_companies = array();
if ($task->getAssignedTo() == null) {
$project_companies = active_project()->getCompanies();
}
if ($task->getAssignedTo() instanceof Company) {
$project_companies = array($task->getAssignedTo());
}
if ($task->getAssignedTo() instanceof User) {
$notify_people = array($task->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;
}
}
}
// if
Notifier::newTask($task, $notify_people);
} catch (Exception $e) {
Logger::log("Error: Notification failed, " . $e->getMessage(), Logger::ERROR);
}
// try
}
// if
flash_success(lang('success add task'));
if ($back_to_list) {
$this->redirectToUrl($task_list->getViewUrl());
} else {
$this->redirectTo('task');
}
// if
} catch (Exception $e) {
DB::rollback();
tpl_assign('error', $e);
}
// try
}
// if
//.........这里部分代码省略.........