public static function add($_type, $_message, $_action = '', $_logicalId = '') { $list_plugin = config::byKey('message::disallowPlugin', 'core', array()); if (in_array($_type, $list_plugin)) { return; } $message = new message(); $message->setPlugin($_type); $message->setMessage($_message); $message->setAction($_action); $message->setDate(date('Y-m-d H:i:m')); $message->setLogicalId($_logicalId); $message->save(); }
/** * Insert the changes on a user into the database * @author Clemens John <*****@*****.**> * @param $user_id * @param $changepassword * @param $permission * @param $oldpassword * @param $newpassword * @param $newpasswordchk * @param $openid * @param $vorname * @param $nachname * @param $strasse * @param $plz * @param $ort * @param $telefon * @param $email * @param $jabber * @param $icq * @param $website * @param $about * @param $notification_method * @return boolean if the user was edited successfull */ public function userInsertEdit($user_id, $changepassword, $permission, $oldpassword, $newpassword, $newpasswordchk, $openid, $vorname, $nachname, $strasse, $plz, $ort, $telefon, $email, $jabber, $icq, $website, $about, $notification_method) { $user_data = User_old::getUserByID($user_id); $message = array(); //check weatcher the given data is valid $phpass = new PasswordHash(8, false); if ($changepassword and !$phpass->CheckPassword($oldpassword, $user_data['password'])) { $message[] = array("Dein altes Passwort ist nicht richtig.", 2); } elseif ($changepassword and empty($newpassword)) { $message[] = array("Du musst ein neues Passwort angeben.", 2); } elseif ($changepassword and $newpassword != $newpasswordchk) { $message[] = array("Deine beiden neuen Passwörter stimmen nicht überein.", 2); } elseif (empty($email)) { $message[] = array("Du musst eine Emailadresse angeben.", 2); } elseif (!User_old::isUniqueEmail($email, $user_id)) { $message[] = array("Es existiert bereits ein Benutzer mit der ausgewhälten Emailadresse <i>{$email}</i>.", 2); } elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)) { $message[] = array("Die ausgewählte Emailadresse " . $email . " ist keine gültige Emailadresse.", 2); } elseif (!empty($jabber) and !filter_var($jabber, FILTER_VALIDATE_EMAIL)) { $message[] = array("Die ausgewählte Jabberadresse " . $jabber . " ist keine gültige Jabberadresse.", 2); } elseif (!empty($openid) and !User_old::isUniqueOpenID($openid, $user_id)) { $message[] = array("Die ausgewählte OpenID <i>" . $openid . "</i> ist bereits mit einem Benutzer verknüpft.", 2); } //if the user data is not valid, return false if (count($message) > 0) { Message::setMessage($message); return false; } //if user wants to set a new password, encrypt new password if ($changepassword) { $newpassword = $phpass->HashPassword($newpassword); if (strlen($newpassword) < 20) { $message[] = array("Beim Hashen des neuen Passworts trat ein Fehler auf.", 2); Message::setMessage($message); return false; } } else { $newpassword = $user_data['password']; } if (!$permission) { $newpermission = $user_data['permission']; } else { $newpermission = 0; foreach ($permission as $dual) { $newpermission += $dual; } } //if all checks are okay, update the data into the database $stmt = DB::getInstance()->prepare("UPDATE users SET \n\t\t\t\t\t\t\t permission = ?, password = ?, openid = ?, vorname = ?, nachname = ?,\n\t\t\t\t\t\t\t strasse = ?, plz = ?, ort = ?, telefon = ?, email = ?, jabber = ?,\n\t\t\t\t\t\t\t icq = ?, website = ?, about = ?, notification_method = ?\n\t\t\t\t\t\t WHERE id = ?"); $stmt->execute(array($newpermission, $newpassword, $openid, $vorname, $nachname, $strasse, $plz, $ort, $telefon, $email, $jabber, $icq, $website, $about, $notification_method, $user_id)); $message[] = array("Die Daten von {$user_data['nickname']} wurden geändert", 1); message::setMessage($message); return true; }
header('Location: user.php?user_id=' . $_GET['user_id']); } else { header('Location: user_edit.php?section=edit&user_id=' . $_GET['user_id']); } } else { Permission::denyAccess(PERM_ROOT, (int) $_GET['user_id']); } } elseif ($_GET['section'] == "delete") { if (permission::checkIfUserIsOwnerOrPermitted(PERM_ROOT, (int) $_GET['user_id'])) { if ($_POST['delete'] == "true") { //fetch user data $user = new User((int) $_GET['user_id']); $user->fetch(); //logout user if the logged in user is the user to be deleted if ($_GET['user_id'] == $_SESSION['user_id']) { Login::user_logout(); } //delete user $user->delete(); $message[] = array("Der Benutzer " . $user->getNickname() . " wurde gelöscht.", 1); message::setMessage($message); header('Location: index.php'); } else { $message[] = array("Sie müssen das Häckchen bei <i>Ja</i> setzen um den Benutzer zu löschen.", 2); message::setMessage($message); header('Location: user_edit.php?section=edit&user_id=' . $_GET['user_id']); } } else { Permission::denyAccess(PERM_ROOT, (int) $_GET['user_id']); } }