From d74c62649e1700e4d6c0f9d0405de31cfb3c98d7 Mon Sep 17 00:00:00 2001 From: Josh North Date: Fri, 20 Feb 2015 02:03:11 -0500 Subject: [PATCH] updated schema with foreign keys, updated sample config to include new params --- config.inc.php.example | 54 +++++++++++++++++++++++++++++++++++------- 1 file changed, 46 insertions(+), 8 deletions(-) diff --git a/config.inc.php.example b/config.inc.php.example index 69acf09..cbdec40 100755 --- a/config.inc.php.example +++ b/config.inc.php.example @@ -1,12 +1,12 @@ setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); +$yaptc_db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); + +// Get user list for users management page +function listUsers($yaptc_db) { + $stmt = $yaptc_db->query("SELECT users.id as userid, users.username as username, users.email as email, users.created as created, users.firstname as firstname, users.lastname as lastname, users.usertype as usertypeid, usertypes.typename as usertype +FROM yaptc.users +INNER JOIN usertypes ON users.usertype = usertypes.id +ORDER BY users.lastname ASC;"); + return $stmt->fetchAll(PDO::FETCH_ASSOC); +} + +// Update user profile +function updateUserProfile($yaptc_db, $userid, $firstname, $lastname, $email) +{ +$stmt = $yaptc_db->prepare("UPDATE users SET firstname = :firstname, lastname = :lastname, email = :email WHERE id = :userid;"); +$stmt->execute(array( + ':userid' => $userid, + ':firstname' => $firstname, + ':lastname' => $lastname, + ':email' => $email + )); +} + + // Get login status - returns true or false function getSessionStatus() { @@ -37,11 +63,11 @@ function killSession() } // Get user access level. Call with $sql passed or it will not work correctly -function getSessionAccess($sql) +function getSessionAccess($yaptc_db) { if (isset($_SESSION['user_id'])) { $query3 = "SELECT users.id as userid, usertypes.typename AS usertype FROM users, usertypes WHERE users.id = :id"; - $stmt3 = $sql->prepare($query3); + $stmt3 = $yaptc_db->prepare($query3); $stmt3->execute(array( ':id' => $_SESSION['user_id'] )); @@ -50,4 +76,16 @@ function getSessionAccess($sql) } } +// Report - Weekly Hours by Week then User +function reportWeeklyByUser($yaptc_db) { + $stmt = $yaptc_db->query("SELECT YEAR(punches.intime) AS g_year, WEEK(punches.intime) AS g_week, ROUND(SUM(TIME_TO_SEC(TIMEDIFF(punches.outtime, punches.intime))/3600),2) AS punchhours, punches.id as punchid, users.id as user, users.username as username, users.firstname as firstname, users.lastname as lastname, punches.intime as intime, punches.outtime as outtime, punches.notes as notes, punches.modified as modified FROM punches INNER JOIN users ON punches.userid = users.id GROUP BY g_year, g_week, users.username;"); + return $stmt->fetchAll(PDO::FETCH_ASSOC); +} + +// Report - Monthly Hours by Month then User +function reportMonthlyByUser($yaptc_db) { + $stmt = $yaptc_db->query("SELECT YEAR(punches.intime) AS g_year, MONTHNAME(punches.intime) AS g_month, ROUND(SUM(TIME_TO_SEC(TIMEDIFF(punches.outtime, punches.intime))/3600),2) AS punchhours, punches.id as punchid, users.id as user, users.username as username, users.firstname as firstname, users.lastname as lastname, punches.intime as intime, punches.outtime as outtime, punches.notes as notes, punches.modified as modified FROM punches INNER JOIN users ON punches.userid = users.id GROUP BY g_year, g_month, users.username;"); + return $stmt->fetchAll(PDO::FETCH_ASSOC); +} + ?>