/** * @see ProjectItemInterface::create_log_entry() * @return bool */ public function create_log_entry() { global $transaction; if ($this->project_id and $this->item_id) { $transaction_id = $transaction->begin(); if ($this->project_log_id) { $project_log_id = $this->project_log_id; } else { $project_log = new ProjectLog(null); if (($project_log_id = $project_log->create($this->project_id, null, false, false, md5(rand(0, 32768)))) == false) { if ($transaction_id != null) { $transaction->rollback($transaction_id); } return false; } $this->project_log_id = $project_log_id; } $project_log_has_item = new ProjectLogHasItem($project_log_id); if ($project_log_has_item->link_item($this->item_id) == false) { if ($transaction_id != null) { $transaction->rollback($transaction_id); } return false; } else { if ($transaction_id != null) { $transaction->commit($transaction_id); } return true; } } else { return false; } }
/** * @see ProjectLogInterface::list_items() * @return array */ public function list_items() { if ($this->log_id and $this->log) { return ProjectLogHasItem::get_items_by_log_id($this->log_id); } else { return null; } }