$new_entity_created = false; if (empty($entity)) { // check due date for the past if (!empty($due) && $due < mktime(0, 0, 0)) { register_error(elgg_echo('todos:action:todoitem:edit:due_in_past')); forward(REFERER); } $entity = new TodoItem(); $entity->container_guid = $todolist->getGUID(); $entity->access_id = $todolist->access_id; $entity->save(); $new_entity_created = true; } $entity->title = $title; $entity->setDueDate($due); if ($entity->canAssign($assignee, true)) { $entity->assign($assignee); } if (!empty($attachment)) { $filename = $_FILES['attachment']['name']; $entity->attach($filename, $attachment); } if ($entity->save()) { system_message(elgg_echo('todos:action:todoitem:edit:success')); if ($new_entity_created) { add_to_river('river/object/todoitem/create', 'create', elgg_get_logged_in_user_guid(), $entity->guid); } } else { register_error(elgg_echo('todos:action:todoitem:edit:error')); } forward(REFERER);