From 2570226fbac3e26b1e94896b50d1db4bc1aa3308 Mon Sep 17 00:00:00 2001 From: wei <> Date: Sun, 17 Dec 2006 22:20:50 +0000 Subject: Add TDataSourceConfig, TSqlMapConfig, TActiveRecordConfig --- .../protected/App_Code/Dao/BaseDao.php | 20 +++++----- .../protected/App_Code/Dao/CategoryDao.php | 28 ++++++------- .../protected/App_Code/Dao/ProjectDao.php | 46 +++++++++++----------- .../protected/App_Code/Dao/ReportsDao.php | 27 ++++++------- .../protected/App_Code/Dao/TimeEntryDao.php | 22 +++++------ .../protected/App_Code/Dao/UserDao.php | 40 +++++++++---------- 6 files changed, 91 insertions(+), 92 deletions(-) (limited to 'demos/time-tracker/protected/App_Code/Dao') diff --git a/demos/time-tracker/protected/App_Code/Dao/BaseDao.php b/demos/time-tracker/protected/App_Code/Dao/BaseDao.php index cf27afc9..5edb6af7 100644 --- a/demos/time-tracker/protected/App_Code/Dao/BaseDao.php +++ b/demos/time-tracker/protected/App_Code/Dao/BaseDao.php @@ -21,24 +21,24 @@ class BaseDao { /** - * @var TSqlMapper sqlmap client. + * @var TSqlMapGateway sqlmap client. */ - private $_connection; - + private $_sqlmap; + /** - * @param TSqlMapper sqlmap client. + * @param TSqlMapGateway sqlmap client. */ - public function setConnection($connection) + public function setSqlMap($sqlmap) { - $this->_connection = $connection; + $this->_sqlmap = $sqlmap; } - + /** - * @return TSqlMapper sqlmap client. + * @return TSqlMapGateway sqlmap client. */ - protected function getConnection() + protected function getSqlMap() { - return $this->_connection; + return $this->_sqlmap; } } diff --git a/demos/time-tracker/protected/App_Code/Dao/CategoryDao.php b/demos/time-tracker/protected/App_Code/Dao/CategoryDao.php index cb1b6399..7476f036 100644 --- a/demos/time-tracker/protected/App_Code/Dao/CategoryDao.php +++ b/demos/time-tracker/protected/App_Code/Dao/CategoryDao.php @@ -4,48 +4,48 @@ class CategoryDao extends BaseDao { function addNewCategory($category) { - $sqlmap = $this->getConnection(); + $sqlmap = $this->getSqlMap(); $exists = $this->getCategoryByNameInProject( $category->Name, $category->ProjectID); if(!$exists) $sqlmap->insert('AddNewCategory', $category); - } - + } + function getCategoryByID($categoryID) { - $sqlmap = $this->getConnection(); + $sqlmap = $this->getSqlMap(); return $sqlmap->queryForObject('GetCategoryByID', $categoryID); } - + function getAllCategories() { - $sqlmap = $this->getConnection(); + $sqlmap = $this->getSqlMap(); return $sqlmap->queryForList('GetAllCategories'); } - + function deleteCategory($categoryID) { - $sqlmap = $this->getConnection(); + $sqlmap = $this->getSqlMap(); $sqlmap->delete('DeleteCategory', $categoryID); } - + function getCategoriesByProjectID($projectID) { - $sqlmap = $this->getConnection(); + $sqlmap = $this->getSqlMap(); return $sqlmap->queryForList('GetCategoriesByProjectID', $projectID); } - + function getCategoryByNameInProject($name, $projectID) { - $sqlmap = $this->getConnection(); + $sqlmap = $this->getSqlMap(); $param['project'] = $projectID; $param['category'] = $name; return $sqlmap->queryForObject('GetCategoryByNameInProject', $param); } - + function updateCategory($category) { - $sqlmap = $this->getConnection(); + $sqlmap = $this->getSqlMap(); $sqlmap->update('UpdateCategory', $category); } } diff --git a/demos/time-tracker/protected/App_Code/Dao/ProjectDao.php b/demos/time-tracker/protected/App_Code/Dao/ProjectDao.php index 3d3ced1d..9e8867bc 100644 --- a/demos/time-tracker/protected/App_Code/Dao/ProjectDao.php +++ b/demos/time-tracker/protected/App_Code/Dao/ProjectDao.php @@ -22,49 +22,49 @@ class ProjectDao extends BaseDao { public function projectNameExists($projectName) { - $sqlmap = $this->getConnection(); + $sqlmap = $this->getSqlMap(); return $sqlmap->queryForObject('ProjectNameExists', $projectName); } - + public function addNewProject($project) { - $sqlmap = $this->getConnection(); + $sqlmap = $this->getSqlMap(); $sqlmap->insert('CreateNewProject', $project); } - + public function getProjectByID($projectID) { - $sqlmap = $this->getConnection(); + $sqlmap = $this->getSqlMap(); return $sqlmap->queryForObject('GetProjectByID', $projectID); } - + public function deleteProject($projectID) { - $sqlmap = $this->getConnection(); + $sqlmap = $this->getSqlMap(); $sqlmap->update('DeleteProject',$projectID); } - + public function addUserToProject($projectID, $username) { - $sqlmap = $this->getConnection(); + $sqlmap = $this->getSqlMap(); $members = $this->getProjectMembers($projectID); if(!in_array($username, $members)) { $param['username'] = $username; $param['project'] = $projectID; $sqlmap->insert('AddUserToProject',$param); - } + } } - + public function getProjectMembers($projectID) { - $sqlmap = $this->getConnection(); + $sqlmap = $this->getSqlMap(); return $sqlmap->queryForList('GetProjectMembers', $projectID); } - + public function getAllProjects($sort='', $order='ASC') { - $sqlmap = $this->getConnection(); + $sqlmap = $this->getSqlMap(); if($sort === '') return $sqlmap->queryForList('GetAllProjects'); else @@ -72,32 +72,32 @@ class ProjectDao extends BaseDao $param['sort'] = $sort; $param['order'] = $order; return $sqlmap->queryForList('GetAllProjectsOrdered', $param); - } + } } - + public function getProjectsByManagerName($manager) { - $sqlmap = $this->getConnection(); + $sqlmap = $this->getSqlMap(); return $sqlmap->queryForList('GetProjectsByManagerName', $manager); } - + public function getProjectsByUserName($username) { - $sqlmap = $this->getConnection(); + $sqlmap = $this->getSqlMap(); return $sqlmap->queryForList('GetProjectsByUserName', $username); } - + public function removeUserFromProject($projectID, $username) { - $sqlmap = $this->getConnection(); + $sqlmap = $this->getSqlMap(); $param['username'] = $username; $param['project'] = $projectID; $sqlmap->delete('RemoveUserFromProject', $param); } - + public function updateProject($project) { - $sqlmap = $this->getConnection(); + $sqlmap = $this->getSqlMap(); $sqlmap->update('UpdateProject', $project); } } diff --git a/demos/time-tracker/protected/App_Code/Dao/ReportsDao.php b/demos/time-tracker/protected/App_Code/Dao/ReportsDao.php index 50005d06..3e5b6456 100644 --- a/demos/time-tracker/protected/App_Code/Dao/ReportsDao.php +++ b/demos/time-tracker/protected/App_Code/Dao/ReportsDao.php @@ -6,12 +6,12 @@ class ProjectReport extends TComponent public $EstimateHours = 0; public $EstimateCompletion = 0; public $Categories; - + public function __construct() { $this->Categories = new TList; } - + public function getActualHours() { $total = 0; @@ -26,21 +26,21 @@ class CategoryReport extends TComponent public $CategoryName = ''; public $EstimateHours = 0; public $members = array(); - + public function getActualHours() { $total = 0; foreach($this->members as $member) $total += $member['hours']; return $total; - } + } } class UserReport extends TComponent { public $Username; public $Projects = array(); - + public function getTotalHours() { $hours = 0; @@ -64,24 +64,23 @@ class ReportsDao extends BaseDao public function getTimeReportsByProjectIDs($projects) { $ids = implode(',', array_map('intval', $projects)); - $sqlmap = $this->getConnection(); - return $sqlmap->queryForList('GetTimeReportByProjectIDs', $ids); + $sqlmap = $this->getSqlMap(); + return $sqlmap->queryForList('GetTimeReportByProjectIDs', $ids); } - + public function getUserProjectTimeReports($users, $projects, $startDate, $endDate) { - $sqlmap = $this->getConnection(); - $driver = $sqlmap->openConnection(); + $sqlmap = $this->getSqlMap(); $ids = implode(',', array_map('intval', $projects)); - $usernames = implode(',', array_map(array($driver, 'quote'), $users)); - + $usernames = implode(',', array_map(array($sqlmap->getDbConnection(), 'quoteString'), $users)); + $param['projects'] = $ids; $param['members'] = $usernames; $param['startDate'] = intval($startDate); $param['endDate'] = intval($endDate); - + return $sqlmap->queryForList('GetTimeReportByUsername', $param); - } + } } ?> \ No newline at end of file diff --git a/demos/time-tracker/protected/App_Code/Dao/TimeEntryDao.php b/demos/time-tracker/protected/App_Code/Dao/TimeEntryDao.php index 7207ed47..4bd74eb5 100644 --- a/demos/time-tracker/protected/App_Code/Dao/TimeEntryDao.php +++ b/demos/time-tracker/protected/App_Code/Dao/TimeEntryDao.php @@ -4,33 +4,33 @@ class TimeEntryDao extends BaseDao { public function addNewTimeEntry($entry) { - $sqlmap = $this->getConnection(); - $sqlmap->insert('AddNewTimeEntry', $entry); + $sqlmap = $this->getSqlMap(); + $sqlmap->insert('AddNewTimeEntry', $entry); } - + public function getTimeEntryByID($entryID) { - $sqlmap = $this->getConnection(); - return $sqlmap->queryForObject('GetTimeEntryByID', $entryID); + $sqlmap = $this->getSqlMap(); + return $sqlmap->queryForObject('GetTimeEntryByID', $entryID); } - + public function deleteTimeEntry($entryID) { - $sqlmap = $this->getConnection(); + $sqlmap = $this->getSqlMap(); $sqlmap->delete('DeleteTimeEntry', $entryID); } - + public function getTimeEntriesInProject($username, $projectID) { - $sqlmap = $this->getConnection(); + $sqlmap = $this->getSqlMap(); $param['username'] = $username; $param['project'] = $projectID; return $sqlmap->queryForList('GetAllTimeEntriesByProjectIdAndUser', $param); } - + public function updateTimeEntry($entry) { - $sqlmap = $this->getConnection(); + $sqlmap = $this->getSqlMap(); $sqlmap->update('UpdateTimeEntry', $entry); } } diff --git a/demos/time-tracker/protected/App_Code/Dao/UserDao.php b/demos/time-tracker/protected/App_Code/Dao/UserDao.php index 28719d81..4bb23b3a 100644 --- a/demos/time-tracker/protected/App_Code/Dao/UserDao.php +++ b/demos/time-tracker/protected/App_Code/Dao/UserDao.php @@ -11,7 +11,7 @@ */ /** - * UserDao class list, create, find and delete users. + * UserDao class list, create, find and delete users. * In addition, it can validate username and password, and update * the user roles. Furthermore, a unique new token can be generated, * this token can be used to perform persistent cookie login. @@ -29,49 +29,49 @@ class UserDao extends BaseDao */ public function getUserByName($username) { - $sqlmap = $this->getConnection(); + $sqlmap = $this->getSqlMap(); return $sqlmap->queryForObject('GetUserByName', $username); } - + /** * @param string username * @return boolean true if username already exists, false otherwise. */ public function usernameExists($username) { - $sqlmap = $this->getConnection(); + $sqlmap = $this->getSqlMap(); return $sqlmap->queryForObject('UsernameExists', $username); } - + /** * @return array list of all enabled users. */ public function getAllUsers() { - $sqlmap = $this->getConnection(); + $sqlmap = $this->getSqlMap(); return $sqlmap->queryForList('GetAllUsers'); } - + /** * @param TimeTrackerUser new user details. * @param string new user password. */ public function addNewUser($user, $password) { - $sqlmap = $this->getConnection(); + $sqlmap = $this->getSqlMap(); $param['user'] = $user; $param['password'] = md5($password); $sqlmap->insert('AddNewUser', $param); if(count($user->getRoles()) > 0) $this->updateUserRoles($user); } - + /** * @param string username to delete */ public function deleteUserByName($username) { - $sqlmap = $this->getConnection(); + $sqlmap = $this->getSqlMap(); $sqlmap->delete('DeleteUserByName', $username); } @@ -82,7 +82,7 @@ class UserDao extends BaseDao */ public function updateUser($user,$password=null) { - $sqlmap = $this->getConnection(); + $sqlmap = $this->getSqlMap(); if($password !== null) { $param['user'] = $user; @@ -103,55 +103,55 @@ class UserDao extends BaseDao */ public function validateUser($username, $password) { - $sqlmap = $this->getConnection(); + $sqlmap = $this->getSqlMap(); $param['username'] = $username; $param['password'] = md5($password); return $sqlmap->queryForObject('ValidateUser', $param); } - + /** * @param string unique persistent session token * @return TimeTrackerUser user details if valid token, null otherwise. */ public function validateSignon($token) { - $sqlmap = $this->getConnection(); + $sqlmap = $this->getSqlMap(); $sqlmap->update('UpdateSignon', $token); return $sqlmap->queryForObject('ValidateAutoSignon', $token); } - + /** * @param TimeTrackerUser user details to generate the token * @return string unique persistent login token. */ public function createSignonToken($user) { - $sqlmap = $this->getConnection(); + $sqlmap = $this->getSqlMap(); $param['username'] = $user->getName(); $param['token'] = md5(microtime().$param['username']); $sqlmap->insert('RegisterAutoSignon', $param); return $param['token']; } - + /** * @param TimeTrackerUser deletes all signon token for given user, null to delete all * tokens. */ public function clearSignonTokens($user=null) { - $sqlmap = $this->getConnection(); + $sqlmap = $this->getSqlMap(); if($user !== null) $sqlmap->delete('DeleteAutoSignon', $user->getName()); else $sqlmap->delete('DeleteAllSignon'); } - + /** * @param TimeTrackerUser user details for updating the assigned roles. */ public function updateUserRoles($user) { - $sqlmap = $this->getConnection(); + $sqlmap = $this->getSqlMap(); $sqlmap->delete('DeleteUserRoles', $user); foreach($user->getRoles() as $role) { -- cgit v1.2.3