Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php if (!defined('IN_SITE')) { echo "Zugriff verweigert!"; die(); }
- class DB {
- private static $_db_username = "*******";
- private static $_db_password = "**********";
- private static $_db_host = "localhost";
- private static $_db_name = "programmingnow";
- private static $_db;
- function __construct() {
- try {
- self::$_db = new PDO("mysql:host=" . self::$_db_host . ";dbname=" . self::$_db_name, self::$_db_username , self::$_db_password);
- } catch(PDOException $e) {
- echo "Datenbankverbindung gescheitert!";
- die();
- }
- }
- function isUserLoggedIn() {
- $stmt = self::$_db->prepare("SELECT User_ID FROM users WHERE Session=:sid");
- $sid = session_id();
- $stmt->bindParam(":sid", $sid);
- $stmt->execute();
- if($stmt->rowCount() === 1) {
- return true;
- } else {
- return false;
- }
- }
- function isAdminLoggedIn() {
- $stmt = self::$_db->prepare("SELECT User_ID FROM users WHERE Session=:sid AND admin_rechte=:admin_rechte");
- $sid = session_id();
- $admin_rechte = 'Ja';
- $stmt->bindParam(":sid", $sid);
- $stmt->bindParam(":admin_rechte", $admin_rechte);
- $stmt->execute();
- if($stmt->rowCount() === 1) {
- return true;
- } else {
- return false;
- }
- }
- function login($benutzername, $pw) {
- $stmt = self::$_db->prepare("SELECT User_ID FROM users WHERE Benutzername=:benutzername AND Passwort=:pw");
- $stmt->bindParam(":benutzername", $benutzername);
- $stmt->bindParam(":pw", $pw);
- $stmt->execute();
- if($stmt->rowCount() === 1) {
- $stmt = self::$_db->prepare("Update users SET Session=:sid WHERE Benutzername=:benutzername AND Passwort=:pw");
- $stmt_on_off = self::$_db->prepare("Update users SET status='Online' WHERE Session=:sid");
- $sid = session_id();
- $stmt->bindParam(":sid", $sid);
- $stmt_on_off->bindParam(":sid", $sid);
- $stmt->bindParam(":benutzername", $benutzername);
- $stmt->bindParam(":pw", $pw);
- $stmt->execute();
- $stmt_on_off->execute();
- return true;
- } else {
- return false;
- }
- }
- function admin_login($benutzername, $pw) {
- $stmt = self::$_db->prepare("SELECT User_ID FROM users WHERE Benutzername=:benutzername AND Passwort=:pw AND admin_rechte=:admin_rechte");
- $stmt->bindParam(":benutzername", $benutzername);
- $stmt->bindParam(":pw", $pw);
- $admin_rechte = "Ja";
- $stmt->bindParam(":admin_rechte", $admin_rechte);
- $stmt->execute();
- if($stmt->rowCount() === 1) {
- $stmt = self::$_db->prepare("Update users SET Session=:sid WHERE Benutzername=:benutzername AND Passwort=:pw");
- $stmt_on_off = self::$_db->prepare("Update users SET status='Online' WHERE Session=:sid");
- $sid = session_id();
- $stmt->bindParam(":sid", $sid);
- $stmt_on_off->bindParam(":sid", $sid);
- $stmt->bindParam(":benutzername", $benutzername);
- $stmt->bindParam(":pw", $pw);
- $stmt->execute();
- $stmt_on_off->execute();
- return true;
- } else {
- return false;
- }
- }
- function logout() {
- $stmt = self::$_db->prepare("Update users SET Session='' WHERE Session=:sid");
- $stmt_on_off = self::$_db->prepare("Update users SET status='Offline' WHERE Session=:sid");
- $sid = session_id();
- $stmt->bindParam(":sid", $sid);
- $stmt_on_off->bindParam(":sid", $sid);
- $stmt_on_off->execute();
- $stmt->execute();
- }
- function isListenModeOn() {
- $stmt = self::$_db->prepare("SELECT listen_mode FROM users WHERE user_group=:user_group AND listen_mode=:listen_mode_modus");
- $user_group = self::getUserGroup();
- $listen_mode_modus = "On";
- $stmt->bindParam(":user_group", $user_group);
- $stmt->bindParam(":listen_mode_modus", $listen_mode_modus);
- $stmt->execute();
- if($stmt->rowCount() === 1) {
- return true;
- } else {
- return false;
- }
- }
- function getAllEntries($sort = "DESC") {
- if($sort != "ASC" && $sort != "DESC") {
- return -1;
- }
- $stmt = self::$_db->prepare("SELECT eintraege.Eintrag_ID, eintraege.Headline, eintraege.Datum, eintraege.Eintrag, users.Vorname, users.Nachname FROM eintraege INNER JOIN users ON eintraege.Autor = users.User_ID ORDER BY Datum " . $sort);
- $stmt->execute();
- return $stmt->fetchAll(PDO::FETCH_ASSOC);
- }
- function getAllUsers($sort = "ASC") {
- if($sort != "ASC" && $sort != "DESC") {
- return -1;
- }
- $stmt = self::$_db->prepare("SELECT benutzername, user_role, user_group, user_institution, vorname, nachname, status FROM users ORDER BY nachname ASC");
- $stmt->execute();
- return $stmt->fetchAll(PDO::FETCH_ASSOC);
- }
- function getAllGroups($sort = "ASC") {
- if($sort != "ASC" && $sort != "DESC") {
- return -1;
- }
- $stmt = self::$_db->prepare("SELECT * FROM groups ORDER BY group_id ASC");
- $stmt->execute();
- return $stmt->fetchAll(PDO::FETCH_ASSOC);
- }
- function getAllUsersFromGroup($selected_group) {
- if($selected_group == 'Lehrer') {
- $stmt = self::$_db->prepare("SELECT * FROM tasks WHERE user_role=:lehrer_user_role ORDER BY nachname ASC");
- $lehrer_user_role = 'Lehrer';
- $stmt->BindParam(":lehrer_user_role", $lehrer_user_role);
- $stmt->execute();
- }
- else{
- $stmt = self::$_db->prepare("SELECT * FROM users WHERE user_group=:selected_group ORDER BY nachname ASC");
- $stmt->BindParam(":selected_group", $selected_group);
- $stmt->execute();
- }
- return $stmt->fetchAll(PDO::FETCH_ASSOC);
- }
- function getAllUsersFromTaskGroup($selected_group) {
- $stmt = self::$_db->prepare("SELECT * FROM tasks WHERE task_for_group=:selected_group ORDER BY task_id ASC");
- $stmt->BindParam(":selected_group", $selected_group);
- $stmt->execute();
- return $stmt->fetchAll(PDO::FETCH_ASSOC);
- }
- function getAllShares() {
- $stmt = self::$_db->prepare("SELECT * FROM shares ORDER BY share_id ASC");
- $stmt->execute();
- return $stmt->fetchAll(PDO::FETCH_ASSOC);
- }
- function getAllSharesFromGroup($selected_user_group) {
- $stmt = self::$_db->prepare("SELECT * FROM shares WHERE share_creator_group=:selected_group ORDER BY share_id ASC");
- $stmt->BindParam(":selected_group", $selected_user_group);
- $stmt->execute();
- return $stmt->fetchAll(PDO::FETCH_ASSOC);
- }
- function getAllLogs() {
- $stmt = self::$_db->prepare("SELECT * FROM logs ORDER BY timestamp DESC");
- $stmt->execute();
- return $stmt->fetchAll(PDO::FETCH_ASSOC);
- }
- function deleteAllLogs() {
- $tablename = 'logs';
- $stmt = self::$_db->prepare("TRUNCATE TABLE $tablename;");
- if($stmt->execute()) {
- return true;
- } else {
- return false;
- }
- }
- function getAllTasks($sort = "ASC") {
- if($sort != "ASC" && $sort != "DESC") {
- return -1;
- }
- $stmt = self::$_db->prepare("SELECT * FROM tasks ORDER BY task_id ASC");
- $stmt->execute();
- return $stmt->fetchAll(PDO::FETCH_ASSOC);
- }
- function getAllTasksFromGroup($selected_user_group) {
- $stmt = self::$_db->prepare("SELECT * FROM tasks WHERE task_for_group=:benutzername ORDER BY task_id ASC");
- $stmt->BindParam(":benutzername", $selected_user_group);
- $stmt->execute();
- return $stmt->fetchAll(PDO::FETCH_ASSOC);
- }
- function getAllTasksFromUser($selected_user) {
- $stmt = self::$_db->prepare("SELECT * FROM tasks WHERE task_for_user_benutzername=:selected_user ORDER BY task_id ASC");
- $stmt->BindParam(":selected_user", $selected_user);
- $stmt->execute();
- return $stmt->fetchAll(PDO::FETCH_ASSOC);
- }
- function createNewGroup($group_name, $group_details, $group_institution) {
- $stmt = self::$_db->prepare("INSERT INTO groups (group_name, group_details, group_institution) VALUES(:group_name, :group_details, :group_institution)");
- $stmt->bindParam(":group_name", $group_name);
- $stmt->bindParam(":group_details", $group_details);
- $stmt->bindParam(":group_institution", $group_institution);
- if($stmt->execute()) {
- return true;
- } else {
- return false;
- }
- }
- function createNewUser($user_vorname, $user_nachname, $user_institution, $user_group, $user_role, $admin_rights, $user_password) {
- $stmt = self::$_db->prepare("INSERT INTO users (benutzername, vorname, nachname, user_role, user_group, user_institution, admin_rechte, passwort, status, listen_mode) VALUES(:benutzername, :vorname, :nachname, :user_role, :user_group, :user_institution, :admin_rechte, :passwort, :status, :listen_mode)");
- $secured_pw = sha1($user_password);
- $nickname_first_word = $user_vorname;
- $nickname_first_letter = $nickname_first_word[0];
- $secured_benutzername = $nickname_first_letter . $user_nachname;
- $status = 'Offline';
- $listen_mode_modus_off = 'Off';
- $stmt->bindParam(":vorname", $user_vorname);
- $stmt->bindParam(":nachname", $user_nachname);
- $stmt->bindParam(":user_role", $user_role);
- $stmt->bindParam(":user_group", $user_group);
- $stmt->bindParam(":user_institution", $user_institution);
- $stmt->bindParam(":admin_rechte", $admin_rights);
- $stmt->bindParam(":passwort", $secured_pw);
- $stmt->bindParam(":benutzername", $secured_benutzername);
- $stmt->bindParam(":status", $status);
- $stmt->bindParam(":listen_mode", $listen_mode_modus_off);
- if($stmt->execute()) {
- return true;
- } else {
- return false;
- }
- }
- function updateUser($user_vorname, $user_nachname, $user_institution, $user_group, $user_role, $admin_rights, $user_password, $user_benutzername) {
- $stmt = self::$_db->prepare("Update users SET
- vorname=:vorname,
- nachname=:nachname,
- user_role=:user_role,
- user_group=:user_group,
- user_institution=:user_insCXtitution,
- admin_rechte=:admin_rechte,
- WHERE benutzername=:benutzername");
- $stmt->bindParam(":vorname", $user_vorname);
- $stmt->bindParam(":nachname", $user_nachname);
- $stmt->bindParam(":user_role", $user_role);
- $stmt->bindParam(":user_group", $user_group);
- $stmt->bindParam(":user_institution", $user_institution);
- $stmt->bindParam(":admin_rechte", $admin_rights);
- $stmt->bindParam(":benutzername", $user_benutzername);
- if($stmt->execute()) {
- return true;
- } else {
- return false;
- }
- }
- function getUserData($user_benutzername) {
- $stmt = self::$_db->prepare("SELECT * FROM users WHERE Benutzername=:username");
- $the_user_one = $user_benutzername;
- $stmt->bindParam(":username", $the_user_one);
- $stmt->execute();
- return $stmt->fetch(PDO::FETCH_ASSOC);
- }
- function groupAddMembers($user_for_add, $group_for_add) {
- foreach ($user_for_add as $added_user)
- $stmt = self::$_db->prepare("INSERT INTO users (user_group) VALUES(:user_group) WHERE benutzername=:benutzername");
- $stmt->bindParam(":user_group", $group_for_add);
- $stmt->bindParam(":benutzername", $added_user);
- if($stmt->execute()) {
- return true;
- } else {
- return false;
- }
- }
- function createNewNews($titel, $news) {
- $stmt = self::$_db->prepare("INSERT INTO eintraege (Autor, Headline, Eintrag) VALUES(:autor, :titel, :news)");
- $autorID = self::getUserID();
- $stmt->bindParam(":autor", $autorID);
- $stmt->bindParam(":titel", $titel);
- $stmt->bindParam(":news", $news);
- if($stmt->execute()) {
- return true;
- } else {
- return false;
- }
- }
- function getUserID() {
- $stmt = self::$_db->prepare("SELECT User_ID FROM users WHERE Session=:sid");
- $sid = session_id();
- $stmt->bindParam(":sid", $sid);
- $stmt->execute();
- return $stmt->fetch(PDO::FETCH_OBJ)->User_ID;
- }
- function getUserName() {
- $stmt = self::$_db->prepare("SELECT Vorname, Nachname FROM users WHERE Session=:sid");
- $sid = session_id();
- $stmt->bindParam(":sid", $sid);
- $stmt->execute();
- $user = $stmt->fetch(PDO::FETCH_OBJ);
- return $user->Vorname . " " . $user->Nachname;
- }
- function getUserRole() {
- $stmt = self::$_db->prepare("SELECT user_role FROM users WHERE Session=:sid");
- $sid = session_id();
- $stmt->bindParam(":sid", $sid);
- $stmt->execute();
- $user = $stmt->fetch(PDO::FETCH_OBJ);
- return $user->user_role;
- }
- function getUserGroup() {
- $stmt = self::$_db->prepare("SELECT user_group FROM users WHERE Session=:sid");
- $sid = session_id();
- $stmt->bindParam(":sid", $sid);
- $stmt->execute();
- $user = $stmt->fetch(PDO::FETCH_OBJ);
- return $user->user_group;
- }
- function getUserInstitution() {
- $stmt = self::$_db->prepare("SELECT user_institution FROM users WHERE Session=:sid");
- $sid = session_id();
- $stmt->bindParam(":sid", $sid);
- $stmt->execute();
- $user = $stmt->fetch(PDO::FETCH_OBJ);
- return $user->user_institution;
- }
- function getUserStatus() {
- $stmt = self::$_db->prepare("SELECT status FROM users WHERE Session=:sid");
- $sid = session_id();
- $stmt->bindParam(":sid", $sid);
- $stmt->execute();
- $user = $stmt->fetch(PDO::FETCH_OBJ);
- return $user->status;
- }
- function getUserNameByID($userID) {
- $stmt = self::$_db->prepare("SELECT Vorname, Nachname FROM users WHERE User_ID=:userid");
- $stmt->bindParam(":userid", $userID);
- if($stmt->execute()) {
- if($stmt->rowCount() === 1) {
- $user = $stmt->fetch(PDO::FETCH_OBJ);
- return $user->Vorname . " " . $user->Nachname;
- } else {
- return "";
- }
- } else {
- return "";
- }
- }
- function getEntryByID($id) {
- $stmt = self::$_db->prepare("SELECT eintraege.Eintrag_ID, eintraege.Headline, eintraege.Datum, eintraege.Eintrag, users.Vorname, users.Nachname FROM eintraege INNER JOIN users ON eintraege.Autor = users.User_ID WHERE Eintrag_ID=:id");
- $stmt->bindParam(":id", $id);
- if($stmt->execute()) {
- if($stmt->rowCount() === 1) {
- return $stmt->fetch(PDO::FETCH_OBJ);
- } else {
- return false;
- }
- } else {
- return false;
- }
- }
- function editEntry($titel, $news, $date, $id) {
- $stmt = self::$_db->prepare("UPDATE eintraege SET
- Datum=:datum,
- Headline=:titel,
- Eintrag=:news
- WHERE Eintrag_ID=:id");
- $date = date('Y-m-d H:i:s', strtotime($date));
- $stmt->bindParam(":id", $id);
- $stmt->bindParam(":datum", $date);
- $stmt->bindParam(":news", $news);
- $stmt->bindParam(":titel", $titel);
- if($stmt->execute()) {
- return true;
- } else {
- return false;
- }
- }
- function deleteEntry($id) {
- $stmt = self::$_db->prepare("DELETE FROM eintraege WHERE Eintrag_ID=:id");
- $stmt->bindParam(":id", $id);
- if($stmt->execute()) {
- return true;
- } else {
- return false;
- }
- }
- function deleteUser($user_benutzername) {
- $stmt = self::$_db->prepare("DELETE FROM users WHERE benutzername=:benutzername");
- $stmt->bindParam(":benutzername", $user_benutzername);
- if($stmt->execute()) {
- return true;
- } else {
- return false;
- }
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement