in the header * @param mixed $page_title * @return string */ function get_title_website(string $page_title) { return $page_title . ' - FridgeBites'; } /** * Get current user id and username. If user is not authorized - false. * @return UserModel|false */ function get_auth_user(): bool|UserModel { if (isset($_SESSION['user_id'])) { $user = UserModel::get([ [ 'name' => 'obj.id', 'type' => '=', 'value' => $_SESSION['user_id'] ], [ 'name' => 'obj.is_active', 'type' => '=', 'value' => 1 ], [ 'name' => 'is_banned', 'type' => '=', 'value' => false, 'is_having' => true ] ]); if (empty($user)) return false; return $user; } else return false; } /** * Set current user * @param int $user_id */ function set_auth_user(int $user_id) { $_SESSION['user_id'] = $user_id; } /** * Destroy all session variables (and with current user) */ function logout() { $_SESSION['user_id'] = null; } function generate_uuid() { return sprintf( '%04x%04x-%04x-%04x-%04x-%04x%04x%04x', mt_rand(0, 0xffff), mt_rand(0, 0xffff), // 32 bit mt_rand(0, 0xffff), // 16 bit mt_rand(0, 0x0fff) | 0x4000, // Version 4 mt_rand(0, 0x3fff) | 0x8000, // Version 1 mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff) // 48 bit ); } use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; function send_email(string $subject, string $body, string $altBody, string $to_address, string $to_name) { $mail = new PHPMailer(true); $mail->isSMTP(); $mail->Host = EMAIL_SETTINGS['host']; $mail->SMTPAuth = EMAIL_SETTINGS['smtp_auth']; $mail->Username = EMAIL_SETTINGS['username']; $mail->Password = EMAIL_SETTINGS['password']; $mail->SMTPSecure = EMAIL_SETTINGS['smtp_secure']; $mail->Port = EMAIL_SETTINGS['port']; $mail->setFrom(EMAIL_SETTINGS['username'], EMAIL_SETTINGS['from_title']); $mail->addAddress($to_address, $to_name); $mail->isHTML(true); $mail->Subject = $subject; $mail->Body = $body; $mail->AltBody = $altBody; $mail->send(); } ?>