. * * @copyright Copyright: 2009 Chunsheng Wang * @author Chunsheng Wang * @package action * @version $Id$ * @link http://www.zentao.cn */ ?> app->company->id; $actor = $this->app->user->account; $actionDate = time(); $sql = "INSERT INTO " . TABLE_ACTION . " VALUES('', '$companyID', '$objectType', '$objectID', '$actor', '$action', '$actionDate', '$comment')"; $this->dbh->exec($sql); return $this->dbh->lastInsertID(); } /* 返回某一个对象的所有action列表。*/ public function getList($objectType, $objectID) { $actions = array(); $sql = "SELECT * FROM " . TABLE_ACTION . " WHERE objectType = '$objectType' AND objectID = '$objectID' AND company = '{$this->app->company->id}' ORDER BY ID"; $stmt = $this->dbh->query($sql); while($action = $stmt->fetch()) { $action->date = date('Y-m-d H:i:s', $action->date); $actions[$action->id] = $action; } $histories = $this->getHistory(array_keys($actions)); foreach($actions as $actionID => $action) { $action->history = isset($histories[$actionID]) ? $histories[$actionID] : array(); $actions[$actionID] = $action; } return $actions; } /* 获得action信息。*/ public function getById($actionID) { $action = $this->dao->findById((int)$actionID)->from(TABLE_ACTION)->fetch(); $action->date = date('Y-m-d H:i:s', $action->date); return $action; } /* 返回某一个action所对应的字段修改记录。*/ public function getHistory($actionID) { return $this->dao->select()->from(TABLE_HISTORY)->where('action')->in($actionID)->orderBy('id')->fetchGroup('action'); } /* 记录历史。*/ public function logHistory($actionID, $changes) { foreach($changes as $change) { $change['action'] = $actionID; $this->dao->insert(TABLE_HISTORY)->data($change)->exec(); } } }